西门子1200PLC和威纶触摸屏多工位转盘博图程序画面案例,版本V15及以上系统结构S7-1214PLC加威纶触摸屏(EasyBuilder Pro)。 包含 1,程控电源modbus485通讯改写电压读取电流值; 2,西门子伺服V90的PN通讯控制; 3,台达伺服电机的脉冲控制; 4,触摸屏与精研变频器通讯改写电机频率; 5,西门子1200与Profight视觉软件TCP/IP开放式通讯; 6,西门子与安川机器人PN通讯; 附伺服,变频器,视觉等通讯手册,机器人GSD文件以及VITEX品牌下的智能视觉测试版软件。 本产品仅供研究学习使用。

最近在车间折腾了一套基于S7-1214PLC和威纶EBPro触摸屏的十工位转盘系统,里面集成了各种主流工业通讯协议。这个项目堪称工业自动化通讯技术的"全家桶",今天挑几个有意思的模块跟大家唠唠。(调试过程中掉的头发够织件毛衣了)

Modbus调压模块

程控电源用的是固纬GPP-4323,通过485口跟PLC对接。这里有个坑要注意:设备默认的停止位设置是1.5位,但西门子PLC只支持整数位设置。最后在DB块里做了个数据补偿才搞定电流值转换。

MB_COMM_LOAD_DB(
    REQ:=TRUE,
    PORT:=2,                //RS485端口
    BAUD:=9600,
    MB_DB:=DB10);           //通讯数据块

这段指令配置完记得用MB_MASTER轮询,实测发现超过200ms的轮询间隔会导致电源响应超时。电流值的原始数据需要做一次位移处理,具体算法在FC12里封装着。

伺服混搭控制

西门子1200PLC和威纶触摸屏多工位转盘博图程序画面案例,版本V15及以上系统结构S7-1214PLC加威纶触摸屏(EasyBuilder Pro)。 包含 1,程控电源modbus485通讯改写电压读取电流值; 2,西门子伺服V90的PN通讯控制; 3,台达伺服电机的脉冲控制; 4,触摸屏与精研变频器通讯改写电机频率; 5,西门子1200与Profight视觉软件TCP/IP开放式通讯; 6,西门子与安川机器人PN通讯; 附伺服,变频器,视觉等通讯手册,机器人GSD文件以及VITEX品牌下的智能视觉测试版软件。 本产品仅供研究学习使用。

V90伺服走PROFINET确实省事,在博图里拖个GSD文件就能自动生成轴配置。但台达B2系列脉冲控制就有点折腾了,1214C的板载脉冲输出口最大频率100kHz,实际调试时发现超过80kHz就丢脉冲。最后在轴控指令里加了这么个补偿:

IF "Axis".Status.PositionLag > 5 THEN
    "Axis".MC_Stop();       //紧急停止
    #Alarm_102:=TRUE;       //位置偏差报警
END_IF;

视觉联调趣事

Profight视觉软件通过开放TCP对接,结果发现西门子的TCON指令和视觉端的socket总对不上暗号。后来抓包发现是字节序问题,在TSEND指令里加了个反转函数:

TSEND(
    REQ:=TRUE,
    CON_ID:=W#16#0001,
    DATA:=P#DB20.DBX0.0 BYTE 64,
    LEN:=64);

最搞笑的是视觉软件测试版有个bug,每次收到"OK"指令后会自动回复两遍数据,最后在PLC里做了个双缓存机制才解决。

安川机器人那边倒是顺利,GSD文件导入后直接走PROFINET的I/O映射。不过机器人端的组态需要特别注意安全信号的双确认机制,这里直接上硬线联锁更靠谱。

整套系统调通后发现个玄学问题——每次重启后威纶触摸屏的变频器通讯总会丢一次握手信号。最后在屏的初始化脚本里加了3秒延时才稳定,看来是通讯速率不匹配导致的握手时序问题。

(项目涉及的各设备手册和配置文件已打包,需要的朋友可以私信。特别说明:本方案仅限技术交流,禁止用于商业场景)调试这种综合项目就像拼乐高,每个模块单独跑通不算难,难的是让它们和谐共处。下次准备试试用OPC UA整合第三方MES系统,到时候再分享新的踩坑经历。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐