龙宇馨
级别: 探索解密
精华主题: 0
发帖数量: 22 个
工控威望: 145 点
下载积分: 2262 分
在线时间: 28(小时)
注册时间: 2013-07-23
最后登录: 2019-01-08
查看龙宇馨的 主题 / 回贴
楼主  发表于: 2014-02-27 20:40
如果仪表上的数据通过BCD码跟三菱PLC通讯时,出现BCD码溢出,这种情况要怎么处理?

等大神来解答
94114602
级别: 略有小成
精华主题: 0
发帖数量: 99 个
工控威望: 225 点
下载积分: 3480 分
在线时间: 57(小时)
注册时间: 2012-03-22
最后登录: 2024-07-24
查看94114602的 主题 / 回贴
1楼  发表于: 2014-02-27 22:01
能具体点不。。。
曾文庆3
级别: 略有小成
精华主题: 0
发帖数量: 127 个
工控威望: 279 点
下载积分: 4203 分
在线时间: 165(小时)
注册时间: 2013-07-17
最后登录: 2015-09-15
查看曾文庆3的 主题 / 回贴
2楼  发表于: 2014-02-28 21:24
要把BCD码转2进式
龙宇馨
级别: 探索解密
精华主题: 0
发帖数量: 22 个
工控威望: 145 点
下载积分: 2262 分
在线时间: 28(小时)
注册时间: 2013-07-23
最后登录: 2019-01-08
查看龙宇馨的 主题 / 回贴
3楼  发表于: 2014-02-28 23:01
在三菱Q系列PLC 中,称重仪表上的数据跟PLC通讯时是采用BCD码通讯的,如果BCD码溢出时,CPU是会报错的,也就是会亮红灯,怎么样才能避免这种情况?
引用
引用第1楼94114602于2014-02-27 22:01发表的  :
能具体点不。。。
龙宇馨
级别: 探索解密
精华主题: 0
发帖数量: 22 个
工控威望: 145 点
下载积分: 2262 分
在线时间: 28(小时)
注册时间: 2013-07-23
最后登录: 2019-01-08
查看龙宇馨的 主题 / 回贴
4楼  发表于: 2014-02-28 23:03
我知道采用BIN转换啊,仪表上的数据确实也是用BIN指令把重量的数据赋值给D值,只是有时BCD会溢出,CPU就会报错,怎么避免CPU报错,继续运行?
引用
引用第2楼曾文庆3于2014-02-28 21:24发表的  :
要把BCD码转2进式
john42tw
级别: 网络英雄
精华主题: 0
发帖数量: 1276 个
工控威望: 6107 点
下载积分: 52058 分
在线时间: 1120(小时)
注册时间: 2012-04-24
最后登录: 2024-09-30
查看john42tw的 主题 / 回贴
5楼  发表于: 2014-03-03 10:47
引用
引用楼主龙宇馨于2014-02-27 20:40发表的 偌大的工控论坛会没人知道这个问题的答案? :
如果仪表上的数据通过BCD码跟三菱PLC通讯时,出现BCD码溢出,这种情况要怎么处理?

等大神来解答

儀表與PLC通訊 如果OK  
在資料的傳送是不會有問題 也沒有溢位問題
只有在作資料分析運算時 才會有溢位問題
檢查你的算式 採32位元計算或轉成實數計算
hhzrri
级别: 探索解密
精华主题: 0
发帖数量: 13 个
工控威望: 131 点
下载积分: 1735 分
在线时间: 20(小时)
注册时间: 2013-03-03
最后登录: 2024-11-12
查看hhzrri的 主题 / 回贴
6楼  发表于: 2014-03-11 20:05
可能你的承重议有问题

如果用一个D地址做仪器到PLC的BCD码存储器
当你转换成二进制时。。如果这个D里面的数大于99999999{ 那么说明你要转换的这个数不是BCD码的数} 那么就会报错 的

或者说你要转换数。例
1111  二进制是代表十制数16 但他却不是一个BCD码 如果你把这个数当成BCD码。想把它转成BIN数。那么就会报警
因为BCD码最多只能表示0-9这十个十进制数
乌龟船长
级别: 网络英雄

精华主题: 0
发帖数量: 1282 个
工控威望: 7631 点
下载积分: 1314 分
在线时间: 2656(小时)
注册时间: 2007-03-21
最后登录: 2024-11-23
查看乌龟船长的 主题 / 回贴
7楼  发表于: 2014-03-11 20:29
传送指令前加一个范围  [  <   R0   K88888  ]--
cooler_show
级别: 略有小成
精华主题: 0
发帖数量: 123 个
工控威望: 267 点
下载积分: 527 分
在线时间: 166(小时)
注册时间: 2011-06-30
最后登录: 2019-12-03
查看cooler_show的 主题 / 回贴
8楼  发表于: 2014-03-12 16:17
在程序里先检测是不是bcd码,然后再转换
momo0720
人外有人,天外有天!
级别: 工控侠客
精华主题: 0
发帖数量: 458 个
工控威望: 2028 点
下载积分: 19664 分
在线时间: 615(小时)
注册时间: 2009-09-11
最后登录: 2024-08-22
查看momo0720的 主题 / 回贴
9楼  发表于: 2014-03-17 13:33
知道 答案的 可能也不想回答吧
看指令出來的是BCD就BCD顯示BIN就BIN顯示
實數就實數顯示
先看你資料範圍再決定吧~
http://blog.xuite.net/fa.system/twblog
小侯
小侯
级别: 工控侠客
精华主题: 0
发帖数量: 482 个
工控威望: 2612 点
下载积分: 8093 分
在线时间: 507(小时)
注册时间: 2008-10-17
最后登录: 2024-11-15
查看小侯的 主题 / 回贴
10楼  发表于: 2014-03-17 15:04
看你有幾位數
先將各位數的輸入先做判斷例如K1X0是否小於等於9
各位數判斷過後再將全部數值用BIN指令轉存在PLC內

除非你的源數值並非BCD碼不然應該不會報錯誤