马上注册,享受更多特权
您需要 登录 才可以下载或查看,没有帐号?立即注册 ![](source/plugin/zhanmishu_wechat/template/static/img/wechat_login.png)
x
【发帖达人赛】:有技术问题,就上“水滴社区”!![](static/image/smiley/default/lol.gif)
哈喽,各位“水”友们和“川”粉们,大家好,先自我介绍下。本某人是一位初入贵(工控)圈的00后,技术小白+小菜鸡![](static/image/smiley/default/biggrin.gif)
今天就来水一水【发帖达人赛】![](static/image/smiley/default/shutup.gif)
今天给大家分享一个应用案例(虽然很基础,很简单,也没啥用处......)
【题目】 :“通过中型PLC读取伺服驱动器面板的故障代码,并且显示在触摸屏上”,各位前辈可以多提提意见!
设备配置: AM600+SV660N+IT7100E
场景 : 通过触摸屏显示读取伺服当前故障代码,并且显示出故障内容;记录近几次(四次)驱动器故障代码;(显示所历史故障的时间,后续增加)。
ps:类似于通过伺服驱动器功能码H0B-33和H0B-34查看伺服驱动器近10次故障代码。
实现过程与方法:
1)分析伺服面板报警显示故障代码与驱动器内部寄存器地址关系
发现一个小规律,辅助码(203Fh,对象字典是:索引16#203F,子索引16#00)显示的16进制数值与伺服报警代码似乎有点规律。
例如:报警E101.0(系统参数异常),辅助码位0x01010101,E+101(辅助码低3位)+0(辅助码高1位)组成,目前发现除了E902.3(原点回归模式设定错误)不符合其他都ok。
关于对象字典 203Fh显示说明:对象字典 203Fh显示以十六进制数据显示故障码的辅助字节:203Fh 为 Uint 32 数据,高 16 位为厂商内部故障码,低 16位为厂商外部故障码。
2)接下来就可以使用PLC,对辅助码(203Fh)进行处理计算了,实现很简单过程很简单
可以写一个FB or FC,具体看附件,可能有bug![](static/image/smiley/default/mad.gif)
3)功能块调用仿真与测试
ST仿真测试
LD仿真测试
4)触摸屏界面....待续
5)bug![](static/image/smiley/default/sad.gif)
6)展望,显示所报报故障具体时间,驱动器看不到,只有时间戳。
7)附件
参考资料:
[1] 总线伺服报警代码显示块 http://bbs.inovance.com/forum.php?mod=viewthread&tid=7785 (出处: 汇川技术官网-水滴社区-wangh) [2]中型PLC控制批量伺服功能码修改案例分享+故障码进制转换 http://bbs.inovance.com/forum.php?mod=viewthread&tid=6831 (出处: 汇川技术官网-水滴社区-CrackerQ) [3]汇川中型PLC读取伺服故障代码 http://bbs.inovance.com/forum.php?mod=viewthread&tid=6872 (出处: 汇川技术官网-水滴社区-qwerqwer) [4]《SV660N系列伺服设计维护使用手册》-苏州汇川技术有限公司 [5]19011700-SC_A00《中型PLC指令手册》20220304-苏州汇川技术有限公司 报告:“水”帖完毕,请审核,也请前辈多多指点。 工控路慢慢,“水滴”来相伴! ![](static/image/smiley/default/lol.gif)
|