1. 项目背景与需求解析
在工业自动化领域,PLC与称重设备的通讯一直是产线集成的关键环节。最近我在一个食品包装项目中遇到了这样的需求:需要通过西门子S7-200 SMART PLC直接读取梅特勒-托利多电子天平的数据,实现自动分拣和包装。这个看似简单的需求背后,其实藏着不少技术细节需要攻克。
电子天平通常采用RS232/485接口,通讯协议各异,而SMART200 PLC的自由口通讯功能正好可以解决这个对接难题。不同于标准Modbus协议,自由口通讯需要手动处理数据帧的收发、校验和解析,这对PLC编程提出了更高要求。在实际操作中,我发现市面上关于这个具体应用场景的完整案例很少,大多数资料都停留在理论层面。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 硬件连接与参数配置
2.1 物理接线方案
天平型号为梅特勒-托利多PL3001,采用DB9接口的RS232通讯。SMART200 PLC这边需要用到CPU集成的RS485端口(端口0)。由于接口类型不匹配,我选用了西门子官方推荐的RS485转RS232转换器(型号:6ES7901-3CB30-0XA0)。
接线时特别注意:
- 天平TX接转换器RX(引脚2对引脚3)
- 天平RX接转换器TX(引脚3对引脚2)
- 必须连接信号地(引脚5对引脚5)
- 转换器供电采用PLC的24V输出
重要提示:不同品牌天平的引脚定义可能不同,务必查阅设备手册确认。我曾因错接RTS/CTS线导致通讯异常,浪费了半天排查时间。
2.2 通讯参数匹配
天平默认通讯参数为:9600波特率、7数据位、偶校验、1停止位(简写为9600,7,E,1)。需要在PLC端做对应设置:
pascal复制// 端口初始化程序
MOV_B 16#09, SMB30 // 9600波特率,7位数据,偶校验,1停止位
MOV_B 16#B0, SMB87 // 启用接收,检测起始字符,检测结束字符
MOV_B 16#0A, SMB88 // 起始字符=LF(0x0A)
MOV_B 16#0D, SMB89 // 结束字符=CR(0x0D)
MOV_W +10, SMW90 // 接收超时=10ms
MOV_B 100, SMB94 // 最大接收字符数
