S7-200与梅特勒-托利多IND231或IND236称重显示仪通讯
本项目涉及到的PLC为西门子200系列的CPU224XP CN,称重仪表是梅特勒-托利多IND231或IND236称重显示仪。此称重仪表配有RS485第二通讯选件,二者通过RS485通讯,西门子S7-200将Port0口设置为自由口通讯协议。
称重仪表的参数设置如下:
1.将F4.2.1协议/模式设置为连续输出模式,将原来的RPr int 改为Cont in;
连续输出格式说明如下
1)ASCII文本开始字符(0X02),始终发送。
2)显示的重量。可以是毛重或净重。六位,没有小数点或符号。不足六位前补空格
3)皮重。六位皮中数据。字段中没有小数点。
4)ASCII回车
5)校验和启用时才发送校验位。校验和用于检测数据发送中的错误。
2.F4.2.3.1中设定波特率 1200 2400 4800 9600 19200 38400 57600 115200 默认模式为9600 不用修改
3.F4.2.3.2 中设置数据位及奇偶校验位 8 NONE 7odd 7 even
默认模式为8位无校验位
4.F4.2.3.3 流量控制位 默认为OFF
5.F4.2.3.4 RS类型 将原来默认的RS232设置为RS485
仪表中数据位如下:
SB-A字节中定义如下:
SB-B状态字节位定义
西门子S7-200端接Port0口,程序如下:
主程序调用子程序(SBR0 通信)
SBR0通信程序如下:
此段为设置每3秒采集一次称重数据存到首地址为VB100,数据格式和称重仪表的数据位相对应
本段程序是设置S7-200的Port0端口为自有协议,详情请参照S7-200帮助文件,SMB30的值为09H,说明为“自由口协议,波特率9600,8个数据位,无校验位”; SMB87的值为BOH,说明“接收信息使能被使能,使用SMB88数值检测信息开始,使用SMB89数值检测信息结束,使用SMB90数据检测空闲条件,使用SMB92超出时间段,信息终止,使用SMB94最大接收字符数”,这些参数的设置与上述称重显示仪的参数设置一致。
此段程序是中断中的,读数从VB100开始,与称重仪表数据位对应如下:
所以从将VB105至VB110所存的数据存至VB300至VB305中,然后通过将这些字节的字符串组转换为双整型赋值给VD310,再将VD310转换成实数型赋给VD120,方便下面程序进行计算。
下面这段程序是确认小数点的位置,小数点位置存在了VB102中,程序中将VB102的前三个位传给了VB130通过判断前三位来断定小数点的位置(参考称重仪表中的状态字SB-A中定义)。VB103.1为称重仪表中SB-B中数位1,代表符号是正还是负。
提交
新大陆自动识别精彩亮相2024华南国际工业博览会
派拓网络被Forrester评为XDR领域领导者
智能工控,存储强基 | 海康威视带来精彩主题演讲
展会|Lubeworks路博流体供料系统精彩亮相AMTS展会
中国联通首个量子通信产品“量子密信”亮相!