之前正运动技术与大家分享了,运动控制器的固件升级、ZBasic程序开发、ZPLC程序开发、与触摸屏通讯和输入/输出IO的应用以及运动控制器数据与存储的应用等。
今天,我们来讲解一下正运动技术运动控制器ZCAN总线扩展模块的使用。
教学视频:《视频教程:如何进行运动控制器ZCAN总线扩展模块的使用?》
1、材料准备与控制器接线参考 材料准备:
1)电脑1台,安装ZDevelop3.01以上版本软件。
2)控制器1个。
3)24V直流电源2个(主电源,IO电源)。
4)总线驱动器+电机(或步进驱动器+电机)若干。
5)控制器接线端子若干。
6)网线若干。
7)连接线若干。
8)不同类型扩展模块多个(扩展模块接线参考参见下文)。
控制器扩展模块接线参考
2、扩展模块的作用
当控制器自身的轴资源、IO资源不够用时,可采用扩展模块来扩展,可以扩展脉冲轴、数字量输入输出、模拟量输入输出这三种类型。只有带脉冲轴接口的扩展模块才支持扩展脉冲轴数,总线轴不可扩展。
扩展模块按连接方式可分为ZCAN总线扩展模块和EtherCAT扩展模块两类。
按产品系列划分,可分为ZCAN扩展模块,EtherCAT扩展模块、ZMIO300扩展模块三大类。
IO数字量扩展:ZMC控制器4系列及以上的型号IO点数可扩展至4096点。
AIO模拟量扩展:ZMC控制器4系列及以上的型号AIO点数可扩展至520点。
ZCAN总线轴扩展:扩展4个脉冲轴,不建议使用过多轴扩展板,可选用支持脉冲轴数较多的控制器型号。
控制器可扩展的IO点数可在硬件手册或“命令与输出”窗口输入?*max打印查看。
3、ZCAN总线扩展模块分类
ZCAN总线扩展模块包含两个系列:可分为ZCAN扩展模块、ZMIO300-CAN扩展模块。
ZCAN扩展模块有多种型号,例如ZIO1616MT可扩展16点输入/16点输出(NPN),
ZIO1616M-PNP为16点输入/16点输出(PNP)。
ZIO1616MT
ZMIO300-CAN扩展模块为立式组合模块,可扩展数字量IO和模拟量,配置如下图:
ZMIO300-CAN+16DO+16DI+4DA+4AD
4、ZCAN扩展模块
ZCAN扩展模块使用CAN总线扩展,带轴号的扩展板建议使用2个,不带轴号的扩展板可以接多个,ZCAN扩展模块可选型号如下,一个ZIO扩展模块上可带16个输入和32个输出点数,单个扩展模块支持扩展2个脉冲轴。
扩展模块数字量IO接口默认支持NPN型,ZIO1616-PNP为PNP型。
扩展的模拟量输入输出默认0-10V电压型,分辨率为12bit。
ZCAN扩展模块使用接线:
CAN总线上连接了多个CAN通讯模块时,全部CAN通讯模块的CANL和CANH端口分别接到一起,将最后一个CAN通模块的拨码开关第八位拨为ON(表示CANL与CANH端口之间接入一个120欧姆的电阻),其他模块的第八位拨码开关无需操作。
CAN通讯必须保证对应GND相连,或是控制器主电源和扩展模块主电源用同一个电源,防止扩展模块烧坏。
ZIO系列扩展模块均采用双电源供电,主电源和IO单电源使用两个电源分别供电。
ZAIO模拟量扩展模块采用单电源供电,只需要主电源,IO不需要单独供电。
ZCAN扩展接线参考如下:
采用的模块:ZMC432+ZIO1608+ZAIO0802。
CAN扩展时建议使用双绞屏蔽线,屏蔽层接地。
5、ZMIO300-CAN扩展模块
ZMIO300-CAN扩展模块可搭配子模块如下表:
模拟量精度为16位,有NPN和PNP两种输入方式可选,数字量输入输出口带信号状态指示灯。
ZMIO300-16DO/ZMIO300-16DOP数字量输出需要单独供电。
扩展的模拟量输入输出默认0-10V电压型,分辨率为16bit。
ZMIO300-CAN扩展模块使用接线:
ZMIO300-CAN扩展模块接线参考如下,与ZCAN扩展模块接线方法相同。
八位拨码开关与CAN总线端子定义与功能相同。
CAN通讯必须保证对应GND相连,或是控制器主电源和扩展模块主电源用同一个电源,防止扩展模块烧坏。
6、ZCAN扩展IO映射
扩展的资源必须映射到控制器本地资源才可使用。
不同的CAN扩展模块,IO映射、轴映射方法相同。
IO映射采用扩展模块上自带的拨码开关设置,轴映射采用AXIS_ADDRESS指令映射轴号。
拨码开关意义:
ZCAN扩展模块一般带8位拨码开关,拨ON生效,如图所示:
拨码含义如下:
1-4:4位CAN ID用于ZCAN扩展模块IO地址映射,对应值0-15。
5-6:CAN通讯速度,对应值0-3,可选四种不同的速度。
7:预留。
8:120欧姆电阻,拨ON表示CANL和CANH之间接入了120欧电阻。
拨码1-4选择CAN地址,控制器根据CAN拨码地址来设定对应扩展模块的IO的编号范围,不同地址对应数字量IO编号分配情况如下表:
拨码每位OFF时对应值0,ON时对应值1,
地址组合值=拨码4×8+拨码3×4+拨码2×2+拨码1。
数字量起始IO映射编号从16开始,按16的倍数递增。
拨码开关必须在上电之前拨好,上电后重新拨码无效,需再次上电才生效。
拨码1-4选择CAN地址,不同地址对应模拟量IO编号分配情况如下表:
模拟量AD起始IO映射编号从8开始,按8的倍数递增。
模拟量DA起始IO映射编号从4开始,按4的倍数递增。
ZCAN通讯速度设置
拨码5-6选择CAN通讯速度,组合值范围0-3,对应是速度如下表:
速度组合值=拨码5×2+拨码6×1。
控制器端通过CANIO_ADDRESS指令设置CAN通讯速度,同样也是有四种速度参数可供选择,需要与组合值对应的扩展模块的通讯速度一致才可以互相通讯。
CANIO_ADDRESS指令还可以设置CAN通讯的主从端,缺省值32,做主端。
CAN通讯配置情况可在“控制器状态”窗口查看。
IO映射和拨码开关设置注意事项:
扩展模块拨码开关根据当前已包含IO点数的IN和OP最大者(外部IO接口数+脉冲轴内的IO接口数)。
如控制器本身包含28个IN,16个OP,那么第一个扩展模块设置的起始地址应超过最大值28,按IO映射规则应将拨码设置为组合值1(二进制组合值0001,从右往左对应拨码1-4,此时拨码1置ON,其他置OFF),此时扩展模块上的IO编号为32-47,其中,29-31空缺出来的IO编号舍去不用。
后续的扩展模块则依次按IO点数继续确认拨码设置。
当控制器或扩展模块的IO编号范围重复时,只有一个有效。建议重新设置拨码使整个控制系统的IO编号均不重复。
7、ZCAN总线扩展轴映射
CAN总线扩展方式扩展脉冲轴时,可选ZIO16082,扩展两个脉冲轴。
扩展轴需要进行轴映射操作,采用AXIS_ADDRESS指令映射,操作方法如下:
AXIS_ADDRESS(轴号)=(32*0)+ID '扩展板的本地轴接口0
AXIS_ADDRESS(轴号)=(32*1)+ID '扩展板的本地轴接口1
ID为扩展板1-4位地址拨码的组合值。
映射完成设置ATYPE等轴参数后就可以使用扩展轴,示例:
ATYPE(6)=0 '设为虚拟轴
AXIS_ADDRESS (6)=2+(32*1)'轴6映射到ZCAN扩展模块ID为2的轴号1
ATYPE(6)=8 'ZCAN扩展轴类型,脉冲方向方式步进或伺服
UNITS(6)=100 '脉冲当量100
SPEED(6)=100 '速度100uits/s
ACCEL(6)=1000 '加速度1000units/s^2
MOVE(100) AXIS(6) '扩展轴运动100units
8、ZCAN扩展模块参考配置
配置一:ZIO系列
控制模块配置:1个ZMC432+1个 ZIO1632+1个 ZIO16082+1个 ZAIO0802
接线完成,正确设置拨码开关,使用ZDevelop软件连接上控制器,打开“控制器”-“控制器状态”窗口,查看ZCAN节点信息,可以看到CAN总线连接的全部设备的信息。
ZIO1632的CAN ID设置为1,扩展的数字量输入IO编号为32-47共16个,扩展的数字量输出IO编号为32-63共32个。
ZIO16082的CAN ID设置为3,扩展的数字量输入IO编号为64-79共16个,扩展的数字量输出IO编号为64-71共8个,除此之外还带两个脉冲轴。
ZAIO0802的CAN ID设置为4,扩展的模拟量输入AD编号为40-47共8个,扩展的模拟量输出DA编号为20-21共2个。
配置二:ZMIO300系列
控制模块配置:1个ZMC432+1个 ZMIO300-CAN通讯模块+4个ZMIO300-16DI输入+2个 ZMIO300-16DO输出+2个 ZMIO300-4AD+2个 ZMIO300-4DA
使用ZDevelop软件连接上控制器,打开“控制器”-“控制器状态”窗口,查看ZCAN节点信息,可以看到CAN总线连接的全部设备的信息。
扩展模块CAN ID设置为1,扩展的数字量输入IO编号为32-95共64个,扩展的数字量输出IO编号为32-63共32个,扩展的模拟量输入AD编号为16-23共8个,扩展的模拟量输出DA编号为8-15共8个。
9、ZCAN扩展连接状态查看
判断CAN扩展板是否连接成功的方法有2种:
1)连接上控制器后,打开“控制器状态”窗口,查看ZCAN节点信息里是否有扩展板信息。
示例:
IF CANIO_STATUS(1) =0 THEN '判断CAN扩展模块的连接状态
PRINT"扩展模块1没有连接好"
ENDIF
2)使用CANIO_STATUS指令判断CAN扩展模块是否接好。
示例:
?*CANIO_STATUS '输出所有CAN扩展模块的状态
10、ZCAN扩展模块演示例程
例程控制模块配置:1个ZMC432+1个 ZIO1632+1个 ZIO16082+1个 ZAIO0802,接线参考图:
RAPIDSTOP( 2)
WAIT IDLE
CANIO_ENABLE = ON '打开CAN主端功能,缺省为ON
CANIO_ADDRESS = 32 '设置主端,缺省为主端,CAN波特率 500KBPS,对应速度拨码组合值 0
'CANIO_ADDRESS = 32+ 256 '设置主端,CAN波特率为 250KBPS,对应速度拨码组合值 1
'CANIO_ADDRESS = 32+ 512 '设置主端,CAN波特率为 125KBPS,对应速度拨码组合值 2
'CANIO_ADDRESS = 32+ 768 '设置主端,CAN波特率为 1MBPS,对应速度拨码组合值 3
delay( 300) '延时300ms
'判断扩展板的连接状态
'CanID 1 ZIO1632 in(32)~in(47),op(32)~op(63)
'CanID 3 ZIO16082 in( 64)~in( 79),op( 64)~op( 71),axis* 2
'CanID 4 ZAIO0802 ain(40)~ain(47),aout(20)~aout(21)
IF CANIO_STATUS(1)=1 AND CANIO_STATUS(3)=1 AND CANIO_STATUS(4)=1 THEN '判断IO板的连接状态
PRINT "扩展模块连接成功"
ELSE
while 1
PRINT "扩展模块连接失败"
delay( 1000)
wend
ENDIF
'扩展板 ZIO16082 轴号映射
atype(6)=0 '设为虚拟轴
atype( 7)= 0
AXIS_ADDRESS( 6)=( 32* 0)+ 3 'CANID为3,ZIO16082扩展板的本地轴接口0映射到轴6
AXIS_ADDRESS(7)=(32*1)+3 'CANID为 3,ZIO16082扩展板的本地轴接 1映射到轴 7
'控制ZIO16082的2个轴
BASE(6,7) '选择扩展轴轴号
ATYPE= 8, 8
UNITS= 100, 100 '脉冲当量设置
SPEED=100,100
ACCEL=1000,1000
DECEL=1000,1000
DPOS=0,0
MPOS=0,0
TRIGGER '自动触发示波器
MOVE( 100, 100) '两轴直线插补
MOVE_OP(40,ON) '控制ZIO1632的输出
MOVE_OP( 64,ON) '控制ZIO16082的输出
AOUT(20) = 4095 '控制ZAIO0802的AOUT0输出 10V电压
程序执行后,扩展模块输出口状态:
正运动技术运动控制器ZCAN总线扩展模块的使用就分享到这里,更多精彩内容,请关注我们的公众号。
本文由正运动小助手原创,欢迎大家转载,共同学习,一起提高中国智能制造水平。文章版权归正运动技术所有,如有转载请注明文章来源。
正运动技术是一家专注于运动控制技术研发与应用的国家级高新技术企业,主要从事运动控制器、运动控制卡、IO扩展模块、运动显控一体机等系列产品的研发、生产、销售和服务。
公司汇集了来自华为、中兴等公司的优秀人才,在坚持自主创新的同时,积极联合各大高校致力于运动控制技术研究与应用,是国内工控领域发展最快的企业之一,也是国内完整掌握运动控制核心技术和实时工控软件平台技术的企业。