设为首页收藏本站积分获取及使用技巧附件上传须知[求助-西门子PLC300/400]疑惑的编程问题

追梦工控论坛|工控论坛-专业的Intouch论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

总共8197条微博

动态微博

查看: 2176|回复: 2

[求助-西门子PLC300/400]疑惑的编程问题

[复制链接]

升级  35%

该用户从未签到

发表于 2014-5-15 20:19:45 | 显示全部楼层 |阅读模式

上传分享工控资料得追梦点,下载积分获取办法点击进入 ☆追梦点充值入口
发帖回帖赚金币兑换下载积分。上传附件须知点击进入

×

马上注册,结交更多工控达人,分享经验,让你轻松玩转追梦工控论坛。

已有帐号?  点击登录   或者        

支付宝扫一扫领红包
有一段程序是这样的,在线监控程序,在上一段中MW538的值为65395,而在下一段中MW538的值却为-141,谁能告诉我这是为什么???</p>
        问题补充:
我看了一下,MW538在这两段程序中间没有被赋值及运算,也没有使用 GO TO

图片说明: 1,图1 2,图2
让我们联手拒绝网络伸手党,下载积分获取办法&附件上传须知 ☆追梦点充值入口





+1
2178°C
2
  • gmRFGTgf
  • zruLsWqE
过: 他们

升级  39.5%

该用户从未签到

发表于 2014-5-15 21:11:53 | 显示全部楼层
MW538在两段程序中被当作不同数据类型的数据来使用,因此显示的值不同。
在图一中,MW538是当作双整型数据(32位)来操作的,65395在其取值范围内,二进制格式为1111 1111 0111 0011。
而在图二中,MW538是被当作整型数据(16)位来操作的,取值范围是-32768到32767,65395超出32767的范围,被显示为负数(实际上是第十六位被当作符号位处理了)-141,你可以用计算器转换一下看看,二进制格式还是1111 1111 0111 0011。
                                                                                                                                                                                                                                                              
                                                        

升级  29%

该用户从未签到

发表于 2014-5-15 21:16:48 | 显示全部楼层
这个现象很正常,因为你在同一个程序扫描周期内每段程序给MW538不同的赋值,所以你监视的值为该段程序中或之前的值
                                                                                                                                                                                                                                                                                                                                   
                                                                                                                                                                                                            检索一下这个MW538都在那里被应用过
                                                                                                                                                                                                                                                                                                                                   
                                                                                                                                                                                                            在你的这两个程序段中间是不是还有程序对MW538进行了运算或赋值,检查程序中都哪里使用了MW538(使用GO TO),这样你就会明白它的数据的变化了。
                                                                                                                                                                                                                                                                                                                                   
                                                                                                                                                                                                            程序在图1中赋值,在图2中进行比较。
意思说这个MW538在其它程序段或在图1程序中在不断地计算(赋值),所以你监控该地址时也会在不断的变化。需要知道这个-141的值是如何计算得到的,可以查阅与地址MW538的关联程序段(交叉引用)。
                                                                                                                                                                                                                                                                                                                                   
                                                                                                                                                                                                            注意检查 MB538    MB539 两个字节是否在程序中有应用。
同样注意:MD536  MD538
*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

请珍惜自己的ID,严禁发布垃圾水贴,诸如adsf......顶......纯表情......多次重复回帖刷积分......轻则删帖警告,重则封禁!★请分享资料、经验或者赞助论坛,贡献一份力量★

关闭

最新活动上一条 /1 下一条

小黑屋|手机版|追梦工控论坛|工控论坛-专业的Intouch论坛 ( 皖ICP备10012005号 )|网站地图

GMT+8, 2025-5-11 00:37 , Processed in 0.108436 second(s), 21 queries , Gzip On, APCu On.

Powered by Dreamyiyi

© 2009-2025 工控论坛

快速回复 返回顶部 返回列表