永宏PLC与ASD-A伺服驱动器通讯

2015-06-29 16:23:11 人评论 次浏览 分类:永宏应用案例

 

(位置控制,M-BUS)

【控制要求】
z 读取伺服驱动器的目标位置(增量型位置)(FUN150.M-BUS 指令“读取”实现);z 设置伺服驱动器的目标位置(增量型位置)(FUN150.M-BUS 指令“写入”实现);z 按下对应开关和按钮,伺服启动和定位动作被触发(利用伺服 DI1~ DI2 输入点);z 将伺服的状态通过面板上指示灯显示出来 (利用伺服 DO1~ DO3 输出点 )。
【伺服硬件接线图】

【ASD-A伺服驱动器参数必要设置】
参数 设置值 说明
P1-01 1 位置控制模式(命令由内部寄存器控制)
P1-33 1 增量型位置控制(相对定位)
P2-10 101 当DI1=ON时,伺服启动
P2-11 108 当DI2=OFF→ON变化时, CTRG 内部命令被触发
P2-15 0 无功能
P2-16 0 无功能
P2-17 0 无功能
P2-18 101 当电源输入后,若没有异常发生, DO1 = ON
P2-19 102 当伺服启动后,若没有异常发生, DO2 = ON
P2-20 105 当目标位置到达时, DO3 = ON
P3-01 1 ASD-A伺服驱动器通讯站号 01
P3-02 1 通讯传送速度 Baud rate 9600
P3-03 1 MODBUS ASCII模式,资料格式 < 7,E,1 >
P3-04 1 当通讯错误时,警告并停止运转
P3-05 2 通讯接口选择为 RS-485 通讯
P3-06 0 输入接点由外部端子控制
※ 当出现伺服因参数设置错乱而导致不能正常运行时,可先设置 P2-08=10(回归出厂值),重新上电后再按照上表进行参数设置。
z操作步骤:

  1. 将伺服驱动器的参数设置完后,重新上电,若无异常现象, “电源正常 ”指示灯(DO1)会ON。
  2. “电源正常 ”指示灯ON之后,拨动 “伺服启动”开关到 ON位置,使 DI1=ON,伺服被启动,如无异常现象发生, “启动正常”指示灯 (DO2)会ON。
  3. “启动正常 ”指示灯ON之后,按下 “定位触发”按钮, DI2被触发一次,伺服电机转动 10.5圈,完
成后“位置到达 ”指示灯(对应DO3)会ON。【元件说明】
PLC 元件 控制说明
X0 伺服启动开关 SON,接伺服驱动器的 DI1
X1 触发定位按钮 CTRG,接伺服驱动器的 DI2
Y1 电源正常指示灯,接 DO1
Y2 启动正常指示灯,接 DO2
Y3 位置到达指示灯,接 DO3
M0 执行FUN150.M-BUS的读取命令
M1 执行FUN150.M-BUS的写入命令
【通讯口参数设定】 PLC通讯口的参数需要与伺服驱动器一致。点选菜单栏的“ PLC” Æ“设定” Æ“Port4通讯参数”,将参数设为“9600baud,偶同位 ,数据位7,停止位 1”,接收异常侦测时间设为 500ms,采用 ModBus ASCII(Slave)通讯协议。

【控制程序】

指令 1所对应的通讯命令表格: 指令 2所对应的通讯命令表格:

【程序说明】
  1. 1. PLC开机脉冲 M1924将内部位置转数,内部位置脉冲数存放到 D10、D11中。
  2. M0=On时,第一个 FUN150.M-BUS指令被执行,将第一段内部位置的转数和脉冲数读出并自动存放到D1050、D1051。
  3. M1=On时,第二个 FUN150.M-BUS指令被执行,将 D10、D11 的内容分别写入 H10F、H110内。地址映射规则:将十六进制的仆站地址,先转换为十进制,再加上 400001。
  4. 4. FUN150.M-BUS执行状态标志有 “ACT”,“ERR”,“DN”。PLC一开始RUN就比较 C0是否等于 0,若C0=0,执行读取命令,当读取完成 “DN”输出M102,使C0加1,又通过比较指令,当 C0=1时输出M1,执行 “写入”指令,当写入完成时 “DN”输出M202,使C0复位,而 C0=0时输出 M0,如此循环不断地控制两个 FUN150.M-BUS指令的执行。
  5. M1938,反映通讯口 port4被占用的情况。当其等于 1,表示 port4处于就绪状态的时候,才允许执行下一个通讯指令,不至于引起错乱。