您现在所在的是:

三菱Mitsubishi

回帖:11个,阅读:3222 [上一页] [1] [2] [下一页]
928
zss51010
文章数:9
年度积分:50
历史总积分:928
注册时间:2006/10/5
发站内信
发表于:2018/2/24 19:27:15
#0楼
PLC串行通信,相信各位编程者都经常遇到,简单的通信任务应该不成问题。但如果是复杂频繁的通信,那么处理起来就不大容易了。
本帖以一个实例为基础简单讲解通信调度实现的原理,希望能对大家处理类似通信问题时有所帮助。实例中的主控设备是三菱PLC-FX3U,从设备是8台HSEN通用型4轴定位模块共32轴,PLC通过RS485和定位模块联系,通信协议是MODBUS-RTU。
附件:
[本地下载]
928
zss51010
文章数:9
年度积分:50
历史总积分:928
注册时间:2006/10/5
发站内信
发表于:2018/2/24 19:28:17
#1楼
这类通信虽说遵循某种通信协议,貌似只是普通的数据读写,但实质并非如此。普通的数据读写或控制,例如变频器的控制,除了运行参数的读写外,还包括运行、停止、改变运行速度等指令发送,只要通信正常完成,控制过程也就结束了。而定位运动的控制不只是运动指令的发送,还包括定位单元运动状态的监测,比如最为常见的定位控制过程——“当前的定位运动是否已完成,如果完成,则进行下一个动作”。‘定位运动是否已完成’‘温控系统的温度是否已到设定值’‘气压是否已达到工艺要求’等等这类信息如果是通过串行通信获得的,那主控系统就必须不断地向从设备查询。如果从设备数量不多,解决这样的问题可能难度不是很大,但如果如上面所述的这类实例,大量的运动指令发送,再加上轴运行状态的获取,如果只是以通常的编程方式来解决这样的问题,可能是思绪万千、困难重重。为此有必要考虑用一种新的思路来解决这类问题。这就是本帖提出的通信调度这概念。
928
zss51010
文章数:9
年度积分:50
历史总积分:928
注册时间:2006/10/5
发站内信
发表于:2018/2/24 19:29:59
#2楼
百度百科对调度算法的解释是:操作系统管理了系统的有限资源,当有多个进程(或多个进程发出的请求)要使用这些资源时,因为资源的有限性,必须按照一定的原则选择进程(请求)来占用资源,这就是调度。本帖的通信调度有点类同于定义中的操作系统,它管理着PLC的串行通信设备这一有限资源,按照一定的原则选择通信请求来占用资源。因此,本实例的通信调度要实现的首个功能是合理有序地安排通信任务。在有限的资源下,如何避免通信冲突是通信调度一个非常重要的功能。此外,其他要实现的功能有把通信数据处理成符合通信协议的数据格式;组织发送;响应信息的接收;通信过程中异常情况的处理(例如对象设备没有响应,接收超时,从设备报告收到的数据有误,校验错误等等);把收到的数据处理成一定格式存放在指定地址。最后还有一个重要的功能就是如上文所说的获取用户关心的信息,这个获取过程并不需要用户提出请求,而是通信调度根据设置,在闲暇时自动发起通信,收集指定的信息(例如各轴的当前位置、当前的运动状态,硬件信息等等),供用户随时调用。
928
zss51010
文章数:9
年度积分:50
历史总积分:928
注册时间:2006/10/5
发站内信
发表于:2018/2/24 19:32:52
#3楼
看下图一个使用通信调度的简单例程。例程的第一部分是一个相对直线插补的运动指令,这一指令的发送,只要设置好相关的运动参数,并置位“执行直线插补”即可,余下的事就交予通信调度处理了。例程的第二部分是在指令信息发送完成后,对指令的执行情况“完成直线插补”进行监测,“完成直线插补”这信息就是通信调度自动采集的。例程的第三部分就是在程序中调用通信调度这功能块。从这例程我们可以看到,在使用通信调度后,我们的编程基本上就不用考虑通信的问题了,程序简洁明了,思路清晰。
928
zss51010
文章数:9
年度积分:50
历史总积分:928
注册时间:2006/10/5
发站内信
发表于:2018/2/24 19:34:14
#4楼
附件 通信调度例程.jpg
928
zss51010
文章数:9
年度积分:50
历史总积分:928
注册时间:2006/10/5
发站内信
发表于:2018/2/24 19:36:00
#5楼
有利必有弊,就像单片机下的编程,是裸奔还是在操作系统下编程,裸奔的程序短小精悍,占用资源少,执行速度快,但复杂的程序编程就比较不易,而在操作系统下编程则刚好相反,这就要看你的取舍了。
从例程中我们可以看到,除了通信调度被包装成功能块外,相对直线插补这一运动指令也被包装成功能块,其实,不仅运动指令,所有常用的MODBUS操作码都可以被包装成功能块,见下图FB列表截图。
928
zss51010
文章数:9
年度积分:50
历史总积分:928
注册时间:2006/10/5
发站内信
发表于:2018/2/24 19:37:43
#6楼
附件 FB列表.jpg
928
zss51010
文章数:9
年度积分:50
历史总积分:928
注册时间:2006/10/5
发站内信
发表于:2018/2/24 19:38:50
#7楼
下图为通信调度执行的流程图,该流程图明示了通信调度和其他功能块之间的消息传递流程,附件中的文档第五章对通信调度有的详细解释,如有兴趣可下载看看。
928
zss51010
文章数:9
年度积分:50
历史总积分:928
注册时间:2006/10/5
发站内信
发表于:2018/2/24 19:39:53
#8楼
附件 流程图.jpg
20183
高雅的雅
文章数:15777
年度积分:-205
历史总积分:20183
注册时间:2015/5/12
发站内信
2018论坛解答高手
发表于:2018/2/25 19:33:20
#9楼
我目前多轴控制都是优选总线控制,

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 非法和不良信息举报

工控网客服热线:0755-86369299
版权所有 工控网 Copyright©2024 Gkong.com, All Rights Reserved

62.4004