S7-300中如何将两个字符串连接成一个字符串?如:DB1.DBB0=abcdefg类型为STring[10],DB2.DBB0=abcdefg类型为string[10],怎么样将DB1.DBB0中的字符串和DB2.DBB0的字符串连成一个字符串存于DB3.DBB0即其中存为:abcdefgabcdefg
ASs='html_titleimg_p' style='text-align:center;'>
问题补充:
两个字符串连接后存入DB2.DBB20(STRING[30]),DB2.DBB20中存的定义的字符串长度,DB2.DBB21存的是实际的长度。我想要两个字符串连接的时候不需要将长度随其存入,就是DB2.DBB20存的就是字符串的第一个字符。有什么办法可以实现吗?
最佳答案
1、可以应用(IEC)功能:
FC2CONCAT:字符串组合两个STRING变量。
从STEP7库“S7libs\Stdlib30”复制到程序目录。或:
ICE库下载:
S7iec.zip:
htTP://cache.automation.siemens.com/dnl/jY0NjczMwAA_1851190_FAQ/S7iec.zip
2、FC2:
功能FC2将两个STRING变量连接在一起,组成一个字符串。如果结果字符串比在输出参数中提供的变量长,则将结果字符串限制到设置的最大长度,并将状态字的二进制结果(BR)
位设置为"0"。
参数声明数据类型存储器区描述
IN1INPUTSTRINGD、L输入变量,格式为STRING
IN2INPUTSTRINGD、L输入变量,格式为STRING
RET_VALOUTPUTSTRINGD、L连接字符串
只能为参数分配一个符号定义的变量。
3、字符串变量数据转换的相关一些IEC的标准功能:
使用IEC的标准功能FC5,FC16,FC30,FC37,FC38和FC39这些功能块可以实现字符串与其它数据类型(例如双整数)之间的相互的转换。
FC2将两个STRING变量连接在一起,组成一个字符串.
详见:
<S7-300400的系统软件和标准功能>下载:
http://www2.ad.siemens.com.cn/download/Upload/AS/manual/1023.pdf
4、注意,对于字符串的传送是不是只能以最大双字来传送,块不能传送?
详见上述文档中3复制功能和块功能,即第3章
提问者对于答案的评价:
谢谢明白