S7-300PLC一个变量为 String[22]类型的字符串( &79328A5000385R*) BLKMOV 到一个变量为 Array[0..10] of Word数组中, 数组显示的内容为:16#1601 3037。。。。。等,其中3037知道怎么回事,但是1601从哪来的?是固定格式吗?
钻石用户推荐最佳答案
你要理解string的特点,第一个字节是定义的最大长度、第二个字节是实际有效长度,一个字符串清空就是将实际有效长度写为零,后面字符字节不写;plc识别string首先根据前2个字节的值判断后面多长是有效字符。16#16=22就是string定义的最大长度,16#01=1就是这个string实际有效的字符数是1,也就是后面16#30=48=字符''''0'''';你这个string实际就是“0”;后面的都是无效数据,string使用要当做一个整体,不要使用常规的blkmov,要使用字符串传送专门的指令。你也可以不使用string,使用char数组,char数组简单。
提问者对于答案的评价:
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc348274.html