用户登陆
免费注册
找回密码
站内短信
论坛搜索
工控下载
用户名
密码
输入验证码:
手机
综合讨论
资料互助
程序样例
三菱工控
西门子区
欧姆龙区
触摸屏区
工控人家园
综合讨论
关于S7200中数据直接相互转换的问题
上一主题
下一主题
lcwlaile
级别: 探索解密
发送短信
加为好友
QQ联系
精华主题:
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
发帖数量:
580 个
工控威望:
10116 点
下载积分:
1129 分
在线时间: 478(小时)
注册时间:
2013-08-13
最后登录:
2024-10-31
查看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(我心飞翔) 热心助人!
永远年轻
分享
weisongyuan
永远年轻
级别: 网络英雄
发送短信
加为好友
精华主题:
0
发帖数量:
580 个
工控威望:
10116 点
下载积分:
1129 分
在线时间: 478(小时)
注册时间:
2013-08-13
最后登录:
2024-10-31
查看weisongyuan的
主题
/
回贴
2楼
发表于: 2015-01-27 07:25
全看
|
小
中
大
呵呵呵 我给你的就是你想要的,数据长度的转换就是要用转换指令解决,各种类型的数据都可以根据你自己的需要转换,字节转换为字,字转换为双字,双字转换为实数,反之亦然。我给你的截图就是转换用的指令,你根本没看我给你的最后一个截图,我在网络都注释了指令的用途。你点击最下面的程序截图使其放大,就看的仔细了。第1、2张截图是一样的,显示200所有的功能,3、4是一样的就是用于存储器类型所有的转换指令的展开图,我想问你的是:你说的“PLC是如何把不同长度的数据相互转换的。比如字转换成双字,双字转换成字,具体的转换过程是什么样的。并不是问转换的指令。”我是真的不能理解,编程软件中的转换指令你不用,非要另外找一个途径解决。我可以负责任的告诉你:在西门子200中如果不使用转换指令 就想完成 字节、字、双字、实数及字符串之间的转换,除非你自己创建出200编程软件
永远年轻
分享
weisongyuan
永远年轻
级别: 网络英雄
发送短信
加为好友
精华主题:
0
发帖数量:
580 个
工控威望:
10116 点
下载积分:
1129 分
在线时间: 478(小时)
注册时间:
2013-08-13
最后登录:
2024-10-31
查看weisongyuan的
主题
/
回贴
3楼
发表于: 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) 真诚感谢!
永远年轻
分享
上一主题
下一主题
工控人家园
综合讨论
关于S7200中数据直接相互转换的问题
http://www.ymmfa.com
访问内容超出本站范围,不能确定是否安全
继续访问
取消访问