积土而为山,积水而为海

S7-200与梅特勒-托利多IND231或IND236称重显示仪通讯

  • 关键词: S7-200 IND231 IND236 称重显示仪通讯
  • 摘要:本项目涉及到的PLC为西门子200系列的CPU224XP CN,称重仪表是梅特勒托利多IND231IND236称重显示仪。此称重仪表配有RS485第二通讯选件,二者通过RS485通讯,西门子S7-200Port0口设置为自由口通讯协议。

      本项目涉及到的PLC为西门子200系列的CPU224XP CN,称重仪表是梅特勒托利多IND231IND236称重显示仪。此称重仪表配有RS485第二通讯选件,二者通过RS485通讯,西门子S7-200Port0口设置为自由口通讯协议。

      称重仪表的参数设置如下:

      1.F4.2.1协议/模式设置为连续输出模式,将原来的RPr int 改为Cont in;

      连续输出格式说明如下

      1ASCII文本开始字符(0X02,始终发送。

      2)显示的重量。可以是毛重或净重。六位,没有小数点或符号。不足六位前补空格

      3)皮重。六位皮中数据。字段中没有小数点。

      4ASCII回车字符(0X0D

      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-200Port0端口为自有协议,详情请参照S7-200帮助文件,SMB30的值为09H,说明为自由口协议,波特率9600,8个数据位,无校验位 SMB87的值为BOH,说明接收信息使能被使能,使用SMB88数值检测信息开始,使用SMB89数值检测信息结束,使用SMB90数据检测空闲条件,使用SMB92超出时间段,信息终止,使用SMB94最大接收字符数,这些参数的设置与上述称重显示仪的参数设置一致。


      此段程序是中断中的,读数从VB100开始,与称重仪表数据位对应如下:


      所以从将VB105VB110所存的数据存至VB300VB305中,然后通过将这些字节的字符串组转换为双整型赋值给VD310,再将VD310转换成实数型赋给VD120,方便下面程序进行计算。

      下面这段程序是确认小数点的位置,小数点位置存在了VB102中,程序中将VB102的前三个位传给了VB130通过判断前三位来断定小数点的位置(参考称重仪表中的状态字SB-A中定义)。VB103.1为称重仪表中SB-B中数位1,代表符号是正还是负。


评论

还没有任何评论,你来说两句吧

发表评论

没有什么能够阻挡
你对自由的向往
天马行空的生涯
你的心了无牵挂
穿过幽暗的岁月
也曾感到彷徨
当你低头的瞬间
才发觉脚下的路
心中那自由的世界
如此的清澈高远
盛开着永不凋零…… -

黔ICP备15016215号 Copyright © 2015 - 2025 蓝莲花 All Rights Reserved.