首页 正运动技术 正文

回复

ZMC运动控制器多任务编程一

正运动技术 浏览:955 回复:2 收藏

正运动技术  2023-08-08 10:01

在工业自动化领域,多任务编程在运动控制器上得到广泛应用。多任务编程允许将复杂的程序分解为独立的任务,实现并发性和高效处理。每个任务在运动控制周期中运行,包括Motion Control、多种通讯、用户多任务程序。运动控制器支持多任务编程,各任务可以独立执行,任务间不受影响。通过划分任务,程序模块化,简化错误处理,提高系统灵活性和响应能力。这种方法在3C电子、印刷包装、机器人等领域的运动控制中具有广泛应用,有效提升生产和运行效率。


ZMC运动控制器多任务概念:

任务是执行 I/O 刷新和用户程序等一系列指令处理的功能,一个任务是指一个正在运行的程序。如果多个程序模块能够互不干扰的同时运行,则称为多任务,多任务编程在 ZDevelop 软件上实现。


多任务可以将复杂的程序分成几个部分,分别开任务来同时执行,每个部分的任务是独立的,这样就可以使设备的复杂运动过程变得简单明了,编程更灵活,没有多任务的场合程序只能顺序执行,使得程序的执行效率十分低下。


ZMC运动控制器支持多任务编程,每个任务都有自己唯一的编号,此编号没有优先级意义,只是标识当前程序属于哪一个任务。不同型号支持的任务数有所不同,支持的具体任务数量,可连接控制器之后,在 ZDevelop 软件菜单栏“控制器状态”查看或在线命令发送?*max 指令查看,如下图,表示该控制器支持 22 个任务,任务编号范围为 0-21。

image.png


ZMC运动控制器每个运动控制周期(Servo Period)包含 MC、SS、以及用户多任务程序的运行,如下图所示:

image.png

MC:Motion Control、EtherCAT 通讯、中断的实现。Motion Control 包含:单轴运动控制、多轴插补运

动、机械手正反解算法;EtherCAT 通讯包含 PDO 通讯与 SDO 通讯。

SS:System Service,包含 RS232 串口通讯,RS485 串口通讯,CAN 通讯,EtherNET 通讯(MODBUS RTU 主从通讯以及 ZDevelop 相关软件服务)

TASK1、…、TASKn:对应于各个任务的运行,第 1 个任务到第 n 个任务。

在一个控制周期内,不同的任务根据当前执行的指令的差异,任务占用的时间也会有差异,并不完全相同,任务在默认情形下不存在优先级,可通过 PROC_PRIORITY 指令去设置某个任务的优先级。

Basic 的所有任务只扫描运行一次(除非程序内有死循环才会一直运行)。一个工程项目下 Basic 文件支持同时存在多个自动运行任务。

PLC主任务循环扫描执行,PLC子程序任务只运行一次。一个工程项目下PLC文件建议只设置一个自运行任务号。

HMI程序需要设置自动运行任务号,初始化函数只扫描执行一次,周期函数循环扫描。一个工程项目下HMI文件仅支持一个,组态程序要运行只能通过给HMI文件设置自动运行任务号。

image.png


ZMC运动控制器同时处理四个任务,如上图,任务0123之间是并行的,互不干扰,控制器下载程序之后这四个文件任务同时启动,同时还能在文件任务执行的时候,使用任务指令开启 SUB 子程序任务或标记任务,SUB子程序任务或标记任务一旦开启,便与主程序无关,任务运行停止后可重复触发任务执行。


控制器多任务的优势:

1、程序模块化:用户可以将程序编写成多个较小的、特定的程序,来实现客户设备指定的功能。

2、并发性:每个任务可以独立运行,任务开启后,不受其他任务的影响。

3、简化错误处理:划分多任务运行后错误处理变得简单,只需处理出错的任务。

4、命令交互:程序处于运行状态时,用户也可以随时进行命令交互,如在线修改运动参数,在线命令栏

5、发送指令等,其他程序不受影响。


通过ZMC运动控制器的灵活性和并发性等优势使得复杂的程序变得简单明了,同时提升了系统的效率和响应能力。在不同的任务之间实现独立运行,为各种应用场景带来了更大的灵活性和可控性。


如果你还有与正运动技术产品使用相关的疑问,欢迎在评论区留言,我会给你一一解答疑问。


更多产品信息请上正运动技术官网获取:http://www.zmotion.com.cn/




我知道了