S7-300的PLC系统用STEP 7 5.5编程,通过tcp通讯读取第三方发送过来的13个浮点数,这些变量一共是52个字节长度。这些32位变量在变量表中以character格式显示后,才是我想要的数据,其他格式显示的都是乱码。
character格式应该是字符串,需要把它转换成实数。我在函数库里找到了FC39 STRNG_R这个块,它的INPUT管脚要输入一个STRING型的变量,于是我在DB6里建立了一个name为Es,数据类型为STRING[54]的变量,通过FB64把外部tcp传送的54个字节写入这个STRING[54]变量。但是在FC39 STRNG_R块的INPUT管脚端输入的是db6.Es这52个字符串,而在RET_VAL输出管脚只能填DB4.DBD0。难道54个字符只能转换成一个实数吗?
图片说明:
最佳答案
调用FC39的方法:
先在符号表中定义一个符号变量。将该变量作为输入参数S。在定义一个双字长的单元来存放结果。
FC39的具体见下述手册:
<S7-300400的系统软件和标准功能>下载:
http://www.ad.siemens.com.cn/download/SearchResult.aspx?searchText=1023
提问者对于答案的评价:
谢谢
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc290306.html