初级文章【西门子】字符拼接成字符串 |
您所在的位置:网站首页 › 西门子1200word转int › 初级文章【西门子】字符拼接成字符串 |
针对S7-400极其以下PLC,1200往上据说有专门的块了呢,首先,我是不用库的,需要什么函数会自己写,OK进入正题。 首先,我们有一个DB块,里面有14个char,一个14位的char数组和一个14位的string。如下图。 我们的目的是将char1-char14拼接成一个string。 第一种方式:第一步,将char放进数组。 相信大家都能看明白,但是我还是要解释解释 L取值2 T赋值到临时变量DBNO(INT) OPN DB [#DBNO]获取DB块,这一句往后到结束符,所有的DB号均为#DBNO CALL BLKMOV 引用BLKMOVE块,用来移动指针。 Any 所有类型 SRCBLK:=需要移动的指针(源) RET_VAL:=状态(可以忽略) DSTBLK:=目标区域 明白了,我们看一下DB块里的内容,得到的结果是下图: 很明显,已经成功对应了。那下一步就是转换字符串。 首先,第一字符串的第二位为14,为什么?第二位是有效长度定义。 接下来继续使用BLKMOVE,将数组里的内容移动到字符串里,当然,这个时候是从第三位开始。 结果如下: 整段程序如下: 当然,不要再OB1里添加临时变量~记得调用该函数。 这时候有人提出了疑问,为什么不直接MOVE,那我们修改一下程序看一下: 改完了,程序逻辑没错,看一下结果: 很明显,结果也没错,所以这两种方式都可以实现,为什么还会有第一种方法,大概是,以后会用得到这个数组吧。。。 但是不定义有效长度是万万不可的,这样以后用来比较字符串的时候可能会出现问题。 |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |