lcwlaile
级别: 探索解密
精华主题: 0
发帖数量: 39 个
工控威望: 174 点
下载积分: 618 分
在线时间: 29(小时)
注册时间: 2013-01-12
最后登录: 2016-06-28
查看lcwlaile的 主题 / 回贴
楼主  发表于: 2015-01-25 22:38
请问高手们,S7200中的各种类型数据直接具体是如何相互转换的。比如BTI指令,将一个8位数据转换成一个16位的数据。这两个数据类型的长度是不一样的,PLC 是如何实现转换的。还有DTI,DTR,BCDI,等等。在编程的时候又是如何确定使用哪一种数据类型呢?本菜鸟水平有限,希望能讲解的越详细越好。谢谢~
weisongyuan
我在南极卖冰箱—独家经营
级别: 网络英雄
精华主题: 0
发帖数量: 588 个
工控威望: 10124 点
下载积分: 3405 分
在线时间: 486(小时)
注册时间: 2013-08-13
最后登录: 2024-12-29
查看weisongyuan的 主题 / 回贴
1楼  发表于: 2015-01-26 00:11
  西门子S7-200可以按:位、字节、字、双字寻址,如V200.0 、VB200、 VW200、 VD200,还有4个累加器:AC0  AC1 AC2 AC3,AC0—AC3可以是字节、字、双字。一定注意的是:西门子与三菱、欧姆龙等的双字不同,三菱的一个双字的四个字节高低位的顺序是从右向左,即起始字节为低位,而西门子200的一个字、双字的高低字节是从左向右如:VD20——VW20 VW22——VB20VB21VB22VB23,VB23是VD20的低位字节。当进行算术计算时数据类型必须相同,这样就要进行数据转换,200有转换指令,打开编程软件可以看见,西门子200编程软件比较直观,所有指令都在指令树中:
[attachment=131716] [attachment=131716]   [attachment=131713]   [attachment=131714]  [attachment=131715]
[ 此帖被weisongyuan在2015-01-26 09:11重新编辑 ]
本帖最近评分记录:
  • 下载积分:+1(我心飞翔) 热心助人!
  • 永远年轻
    lcwlaile
    级别: 探索解密
    精华主题: 0
    发帖数量: 39 个
    工控威望: 174 点
    下载积分: 618 分
    在线时间: 29(小时)
    注册时间: 2013-01-12
    最后登录: 2016-06-28
    查看lcwlaile的 主题 / 回贴
    2楼  发表于: 2015-01-26 20:33
    谢谢你的回答,但是不是我要的答案,我主要是想问,PLC是如何把不同长度的数据相互转换的。比如字转换成双字,双字转换成字,具体的转换过程是什么样的。并不是问转换的指令。
    新手驾驶f22
    级别: 探索解密
    精华主题: 0
    发帖数量: 60 个
    工控威望: 194 点
    下载积分: 737 分
    在线时间: 19(小时)
    注册时间: 2014-02-06
    最后登录: 2020-02-20
    查看新手驾驶f22的 主题 / 回贴
    3楼  发表于: 2015-01-26 20:45
    指令一给,自动进行,怎么变,你要仔细研究一下八进制,十进制,十六进制,BCD码什么的
    liuqiang1986
    相互交流,相互学习,共同探讨。
    级别: 家园常客
    精华主题: 0
    发帖数量: 429 个
    工控威望: 747 点
    下载积分: 2562 分
    在线时间: 604(小时)
    注册时间: 2012-02-14
    最后登录: 2024-04-01
    查看liuqiang1986的 主题 / 回贴
    4楼  发表于: 2015-01-26 21:05
    这看你要16位还是32位的数据了,
    技术在于积累,学习在于坚持。
    weisongyuan
    我在南极卖冰箱—独家经营
    级别: 网络英雄
    精华主题: 0
    发帖数量: 588 个
    工控威望: 10124 点
    下载积分: 3405 分
    在线时间: 486(小时)
    注册时间: 2013-08-13
    最后登录: 2024-12-29
    查看weisongyuan的 主题 / 回贴
    5楼  发表于: 2015-01-27 07:25
    呵呵呵 我给你的就是你想要的,数据长度的转换就是要用转换指令解决,各种类型的数据都可以根据你自己的需要转换,字节转换为字,字转换为双字,双字转换为实数,反之亦然。我给你的截图就是转换用的指令,你根本没看我给你的最后一个截图,我在网络都注释了指令的用途。你点击最下面的程序截图使其放大,就看的仔细了。第1、2张截图是一样的,显示200所有的功能,3、4是一样的就是用于存储器类型所有的转换指令的展开图,我想问你的是:你说的“PLC是如何把不同长度的数据相互转换的。比如字转换成双字,双字转换成字,具体的转换过程是什么样的。并不是问转换的指令。”我是真的不能理解,编程软件中的转换指令你不用,非要另外找一个途径解决。我可以负责任的告诉你:在西门子200中如果不使用转换指令 就想完成 字节、字、双字、实数及字符串之间的转换,除非你自己创建出200编程软件
    永远年轻
    liuhuaxing
    LIUHUAXING
    级别: 论坛先锋
    精华主题: 0
    发帖数量: 965 个
    工控威望: 1172 点
    下载积分: 3446 分
    在线时间: 624(小时)
    注册时间: 2011-03-26
    最后登录: 2024-06-26
    查看liuhuaxing的 主题 / 回贴
    6楼  发表于: 2015-01-27 18:57
    引用
    引用第5楼weisongyuan于2015-01-27 07:25发表的  :
    呵呵呵 我给你的就是你想要的,数据长度的转换就是要用转换指令解决,各种类型的数据都可以根据你自己的需要转换,字节转换为字,字转换为双字,双字转换为实数,反之亦然。我给你的截图就是转换用的指令,你根本没看我给你的最后一个截图,我在网络都注释了指令的用途。你点击最下面的程序截图使其放大,就看的仔细了。第1、2张截图是一样的,显示200所有的功能,3、4是一样的就是用于存储器类型所有的转换指令的展开图,我想问你的是:你说的“PLC是如何把不同长度的数据相互转换的。比如字转换成双字,双字转换成字,具体的转换过程是什么样的。并不是问转换的指令。”我是真的不能理解,编程软件中的转换指令你不用,非要另外找一个途径解决。我可以负责任的告诉你:在西门子200中如果不使用转换指令 就想完成 字节、字、双字、实数及字符串之间的转换,除非你自己创建出200编程软件

    楼主的意思是问你:当你从甲站坐到乙站,公交车上的发动机是怎么运行的?而不是问你是从哪里坐来的
    lcwlaile
    级别: 探索解密
    精华主题: 0
    发帖数量: 39 个
    工控威望: 174 点
    下载积分: 618 分
    在线时间: 29(小时)
    注册时间: 2013-01-12
    最后登录: 2016-06-28
    查看lcwlaile的 主题 / 回贴
    7楼  发表于: 2015-01-28 22:04
    6楼明白我的意思了。关于2进制,16进制,BCD码我是了解的。比如一个常数十进制的9,我可以用4位2进制数表示它。一个字节有8位,表示一个4位2进制数足够用,但是如果我想把这个字节的数据,转换成字。那么一个字有16位,16位表示一个4位的2进制数只用了4位,其它12位是空着的吗?这就是我想问的问题。我只是举个例子。
    weisongyuan
    我在南极卖冰箱—独家经营
    级别: 网络英雄
    精华主题: 0
    发帖数量: 588 个
    工控威望: 10124 点
    下载积分: 3405 分
    在线时间: 486(小时)
    注册时间: 2013-08-13
    最后登录: 2024-12-29
    查看weisongyuan的 主题 / 回贴
    8楼  发表于: 2015-01-29 10:24
    谢谢您的执着,我原来也没注意这个事情,想给你回答这个问题的时候才又找到教材查阅的。现在回答你的例子:如果是将字节转换为字,数据的保存是由转换后字的最低位依次向高位排列,未使用的位用0补充,如果是双字转换为字或者是字转换为字节也是这样,应该考虑的是转换的数据长度,(字节:-128—+127或0—255;字:-32768—+32767或者0—65535;双字:-2147483648—+2147483647或者0—4294966295,注意:S7200PLC使用的浮点数格式最多支持7个有效数字。尝试显示7个以上有效数字会显示进位错误))如果超出转换后的字或字节的最大数则超出的高位部分溢出,特殊辅助继电器置位。如:西门子200,当双字VD100 转换为字VW120 或者VW0 转换为VB 10,当转换后的数据超出转换后的VW120或者VB10的最大数值则只保留低位高位溢出,同时特殊继电器SM1.1置位
    [ 此帖被weisongyuan在2015-01-29 10:50重新编辑 ]
    本帖最近评分记录:
  • 下载积分:+1(lcwlaile) 真诚感谢!
  • 永远年轻
    lcwlaile
    级别: 探索解密
    精华主题: 0
    发帖数量: 39 个
    工控威望: 174 点
    下载积分: 618 分
    在线时间: 29(小时)
    注册时间: 2013-01-12
    最后登录: 2016-06-28
    查看lcwlaile的 主题 / 回贴
    9楼  发表于: 2015-01-29 19:39
    谢谢八楼的细致解答,这就是我要的答案,非常感谢。想请问你,你查阅的是什么教材,可否分享一下。