有符号16数的赋值

为什么我在C脚本里给signed 16 bit value(有符号16数)赋值,没有一种C语言的数据类型可以匹配!!!!高手在吗????急救!!!qq 346324768  谁能帮一把,感激涕零!!!!

问题补充:
谢谢大家关注,我得问题是这样的:我希望从winncc的 i\o field中输入一个10个字符的字符串,然后分解成单个字符,下传到PLC。从step7中建立char变量导入wincc中自动生成10个signed 16 bit value 类型变量tag1-tag10,我现在从画面上做一个按钮,用以下代码希望给上述tag1-10(signed 16 bit value)赋值:
  char*p;p=NULL;
 while(p==NULL){p=Sysmalloc(sizeof(char)*10);}
 如果这样写"tag"=p[0];提示说类型不匹配;
 如果SetTagSByte("tag",p[0]);或用SetTagWord函数确实没有错误。但在连接PLC以后,从STEP符号表查看的时候是乱码。得不到希望的字符格式。在画面上测试,发现传给tag变量的是字符的ANSIC码的小数形式。所以我就提出了上述问题。一般这种问题怎么解决啊

最佳答案

为什么不用字符型变量呢,正常plc中一个字符占用1个字节,把你的signed 16 bit value改成text tag 8-bit character set类型,然后用SetTagChar应该可以的

提问者对于答案的评价:
恩 用8位有符号数可以实现了

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc272110.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2019年6月11日
下一篇 2019年6月11日

相关推荐