不使用microscale库从siwarex ms读重量值

来源:互联网 发布:oracle 表添加字段sql 编辑:程序博客网 时间:2024/05/18 01:21

西门子称重模块Siwarex MS,使用起来还是比较稳定的,价格也不便宜。

西门子提供Microscale库,使200PLC与模块通信,其最新版本是V20,与新版本MS(E-Stand:03)配合可以使用更多命令。
这个库在224CN上,耗时约3~4毫秒,系统接2个MS,2个库耗时要到8~9毫秒了。对于需要毫秒计较的程序,就需要考虑自己写指令。

看各AIW AQW 含义(以1个MS为例):

AIW0:过程值
AIW2:秤状态
AIW4:同步和刷新计数器
AIW6:同步和异步错误

AQW0:同步字节
AQW2:预置皮重
AQW4:数据记录编号和字节位移
AQW6:写参数值

现在只需要读取称重值。 若只取AIW0值,MS模块通信灯会持续闪烁,按手册讲是没周期性调用microscale库。
AIW4的第1字节第3位(X.2)是lifebit的标志位。它用来计算计数器(VW n+16),同时计算发往AQW4的数值。

选择过程值 0-6,左移5位,相当于乘了32。
假如选择6,未滤波值,则6左移5位,结果16#C0,X.2 ON,则两字节求或运算得16#C4;X.2 Off结果为16#C0。
只需使用MOVW指令将以上运算结构传送到AQW0,AIW0即返回未滤波值。第2字节是命令码,赋值0。
通常使用过程值0,则根据X.2的状态传送AQW0为0或4,AIW0返回MS转换为的线性值。
AQW2,AQW4,AQW6均传递0。

目前为止,只考虑取值,并发给MS同步信息(选择的过程值)。这样写,1个MS,扫描周期为1-2毫秒。
错误信息,AIW6可以获取7-41为同步错误信息,7-43为异步错误信息(MS设备手册2008.07版)。

microscale_v2可以执行更多命令,MS贵也是有原因的,几百上就是1个PLC了,而不是单单做ADC转换。