您好!欢迎光临工博士商城

西门子经销商

产品:273    

咨询热线:15821599520

QQ QQ
您当前的位置:首页 » 西门子技术问题 » 西门子PLC-关于S7NET读取PLC数据问题
产品分类
西门子技术问题
西门子PLC-关于S7NET读取PLC数据问题
发布时间:2021-09-29        浏览次数:1893        返回列表
 关于S7NET读取PLC数据问题?
自己尝试读取PLC数据时发现PLC中的INT和WORD数据类型在读取时不正确,数值较小时正常,给负数时S7net读的值 是其对应的无符号值,例如PLC给3,上位机读取为253,请问怎么才能在读取时事先确定INT或WORD是有符号还是无符号呢?

1、C#语言声明一个unsigned int n存储这个数,这个数就是无符号数,声明一个int n存储这个数那么它就是有符号的。

2、转帖:PLC的事:
因数据类型的定义规范的存在,MWO被机器理解成的变量类型不一样,则所代表的数字大小不-样:
若定义为word类型,则MW0=W#16#8001=32769, 无关符号。
若定义为int类型,则MW0=W#16#8001=-32767, 为负数
MW0被机器识别为何种数据类型,则要看MW0参与了何种运算。例如参与比较、转换、整数运算、整数右移,则会被机器理解会int型数据,若参与字逻辑、字移位, 会被机器理解为word.
例如MW0=W#16#8001用move指令直接赋值给MD2,这里不涉及类型识别,则MD2= DW#16#00008001,则无论后续参与何种运算怎么样理解, MD2= +32769,若使用l _DI指令,将MW0赋值给MD2,则MD=DW#16
#FFF8001,该指令将MW0自动识别为int型数据。
本文摘自:西门子中国微信公众号 

西门子PLC
         西门子变频器

分享到: 


 

联系热线:15821599520   联系人:黄经理 联系地址:上海市嘉定区南翔镇众仁路399号B栋20层2007-2012

技术和报价服务:星期一至星期六8:00-22:00 西门子经销商