API 二进浮点数 SINH 运算 136 D SINH P 位装置 字符装置 16 位指令 X Y M K H KnX KnY KnM T CD - - - - S ** * * 32 位指令(9 STEP) D DSINH 连续执行型 DSINHP 脉波执行型 操作数使用注意: 各装置使用范围请参考各系列机种功能规格表 旗标信号:无 指令說明 S:指定的来源(二进浮点数)。 D:取 SINH 值结果。 sinh 值=(es-e-s)/2 程式範例 当 X0=On 时,指定二进浮点数(D1,D0)求取 SINH 值后存于(D11,D10) 当中,内 容为二进浮点数。 X0 DSINH D0 D10 D 1 D 0 2 進浮點數 D 11 D 10 SINH 值 2 進浮點數 16-86
PLC 功能应用 API 二进浮点数 COSH 运算 137 D COSH P 位装置 字符装置 16 位指令 X Y M K H KnX KnY KnM T CD - - - - S ** * * 32 位指令(9 STEP) D DCOSH 连续执行型 DCOSHP 脉波执行型 操作数使用注意: 各装置使用范围请参考各系列机种功能规格表 旗标信号:无 指令說明 S:指定的来源(二进浮点数)。 D:取 COSH 值结果。 cosh 值=(es+e-s)/2 程式範例 当 X0=On 时,指定二进浮点数(D1,D0)求取 COSH 值后存于(D11,D10) 当中, 内容为二进浮点数。 X0 DCOSH D0 D10 D 1 D 0 2 進浮點數 D 11 D 10 COSH 值 2 進浮點數 16-87
API 二进浮点数 TANH 运算 138 D TANH P 位装置 字符装置 16 位指令 X Y M K H KnX KnY KnM T CD - - - - S ** * * 32 位指令(9 STEP) D DTANH 连续执行型 DTANHP 脉波执行型 操作数使用注意: 各装置使用范围请参考各系列机种功能规格表 旗标信号:无 指令說明 S:指定的来源(二进浮点数)。 D:取 TANH 值结果。 tanh 值=(es-e-s)/(es+e-s) 程式範例 当 X0=On 时,指定二进浮点数(D1,D0)求取 TANH 值后存于(D11,D10) 当中,内 容为二进浮点数。 X0 DTANH D0 D10 D 1 D 0 2 進浮點數 D 11 D 10 TANH 值 2 進浮點數 16-88
PLC 功能应用 API TCMP 万年历数据比较 P 160 位装置 K 字符装置 C D 16 位指令 (11 STEP) TCMPP 脉波执行型 * * * TCMP 连续执行型 XYM H KnX KnY KnM T S1 ***** S2 * * * * * * * * 32 位指令 S3 ******** - - - - S *** D ** 旗标信号:无 操作数使用注意: 各装置使用范围请参考各系列机种功能规格表 指令說明 S1:设定比较时间之“时”,设定范围为「K0~K23」。 S2:设定比较时间之“分”,设定 范围为「K0~K59」。 S3:设定比较时间之“秒”,设定范围为「K0~K59」。 S:万年 历现在时间。 D:比较结果。 将由 S1 ~ S3 所指定的时、分、秒设定值与 S 起始之万年历时、分、秒现在值做比 较,其比较结果在 D 作表示。 S 为万年历现在时间之“时”,内容为「K0~K23」。S +1 为万年历现在时间之“分”, 内容为「K0~K59」。S +2 为万年历现在时间之“秒”,内容为「K0~K59」。 通常 S 所指定的万年历现在时间通常是预先使用 TRD 指令将万年历现在时间读入 后再使用 TCMP 指令进行比较,若 S 内容值超出范围,则视为运算错误,指令不执 行,M1068=On。 程式範例 当 X10=On 时,指令执行,将 D20~D22 万年历现在时间与设定值 12 时 20 分 45 秒 做比较,将结果显示到 M10~M12。当 X10 由 On→Off 变化时,指令不被执行,但 是 M10~M12 之前的 On/Off 状态仍被保持住。 若需要得到≧、≦、≠之结果时,可将 M10~M12 串并联即可取得。 X10 TCMP K12 K20 K45 D20 M10 M10 12 時 20 分 45 秒 > D20 (時) M11 12 時 20 分 45 秒 = D21 (分) 的時 候 ,為 On M12 12 時 20 分 45 秒 < D22 (秒) D20 (時) D21 (分) 的時 候 ,為 On D22 (秒) D20 (時) D21 (分) 的時 候 ,為 On D22 (秒) 16-89
API TZCP 万年历数据比较 P 161 位装置 字符装置 16 位指令 (9 STEP) X Y M K H KnX KnY KnM T C D TZCP 连续执行型 TZCPP 脉波执行型 S1 * * * S2 * * * 32 位指令 S *** - - - - D ** 旗标信号:无 操作数使用注意: 各装置使用范围请参考各系列机种功能规格表 指令 說明 S1:设定比较时间之下限值。 S2:设定比较时间之上限值。 S:万年历现在时间。 D:比较结果。 将由 S 所指定的万年历现在时间时、分、秒值与 S1 所指定设定比较时间之下限值 及 S2 所指定设定比较时间之上限值做区域比较,其比较结果在 D 作表示。 S1、S1 +1、S1 +2:设定比较时间下限值的”时”、”分”、”秒”。 S2、S2 +1、S2 +2:设定比较时间上限值的”时”、”分”、”秒”。 S、S +1、S +2:为万年历现在时间的”时”、”分”、”秒”。 本程序例 S 所指定的 D0 通常是预先使用 TRD 指令将万年历现在时间读入后再使用 TZCP 指令进行比较,若 S1、S2、S 内容值超出范围,则视为运算错误,指令不执 行, M1068=On。 当现在时间 S 小于下限值 S1 且 S 小于上限值 S2 时,则 D 为 On,当现在时间 S 大于下限值 S1 且 S 大于上限值 S2 时,则 D +2 为 On,其余状态则 D +1 为 On。 程式範例 当 X10=On 时,TZCP 指令执行,M10~M12 其中之一会 On,当 X10=Off 时, TZCP 指令不执行,M10~M12 状态保持在 X10=Off 之前的状态。 X10 D0 D20 D10 M10 TZCP D0 (時) D10 (時) 的時候,為 On M10 D1 (分) D2 (秒) > D11 (分) M11 D0 (時) D12 (秒) M12 D1 (分) D2 (秒) <= D10 (時) <= D20 (時) D11 (分) D21 (分) 的時候,為 On D12 (秒) D22 (秒) D10 (時) D20 (時) D11 (分) > D21 (分) 的時候,為 On D12 (秒) D22 (秒) 16-90
PLC 功能应用 API TADD 万年历资料加算 P 162 位装置 字符装置 16 位指令 (7 STEP) X Y M K H KnX KnY KnM T C D TADD 连续执行型 TADDP 脉波执行型 S1 * * * S2 * * * 32 位指令 - - - - D *** 操作数使用注意: y 旗标信号:M1020 零旗号 Zero flag 各装置使用范围请参考各系列机种功能规格表 M1022 进位旗号 Carry flag M1068 万年历错误 指令 說明 S1:时间被加数。 S2:时间加数。 D:时间和。 将 S1 所指定的万年历数据时、分、秒与 S2 所指定的万年历数据时、分、秒相加, 所得到的结果存于指定 D 所指定的缓存器时、分、秒当中。 若 S1、S2 内容值超出范围,则视为运算错误,指令不执行,M1067、M1068=On, D1067 记录错误码 0E1A(HEX)。 加算结果若大于等于 24 小时的话,进位旗标 M1022=On、D 显示加算总值减掉 24 小时所得的结果。 加算结果若是等于 0(0 时 0 分 0 秒),零旗标 M1020=On。 程式範例 当 X10=On 时,TADD 指令执行,将 D0~D2 所指定的万年历数据时、分、秒 与 D10~D12 所 指 定 的 万 年 历 数 据 时 、 分 、 秒 相 加 , 所 得 到 的 结 果 存 于 D20~D22 所指定的缓存器中得到加总后之时、分、秒。 X10 TADD D0 D10 D20 D0 8(時) 6(時) D20 14(時) D21 50(分) D1 10(分) + D11 40(分) D22 26(秒) D2 20(秒) D12 6(秒) 14 時 50 分 26 秒 8 時 10 分 20 秒 6 時 40 分 6 秒 16-91
API TSUB 万年历资料减算 P 163 位装置 字符装置 16 位指令 (7 STEP) X Y M K H KnX KnY KnM T C D TSUB 连续执行型 TSUBP 脉波执行型 S1 * * * S2 * * * 32 位指令 - - - - D *** 操作数使用注意: y 旗标信号:M1020 零旗号 Zero flag 各装置使用范围请参考各系列机种功能规格表 M1022 进位旗号 Carry flag M1068 万年历错误 指令 說明 S1:时间被减数。 S2:时间加数。 D:时间和。 将 S1 所指定的万年历数据时、分、秒减掉 S2 所指定的万年历数据时、分、秒,所 得到的结果暂存于的指定 D 所指定的缓存器时、分、秒当中。 若 S1、S2 内容值超出范围,则视为运算错误,指令不执行,M1067、M1068=On, D1067 记录错误码 0E1A(HEX)。 减算结果若为负数时,借位旗号 M1021=On、该负数再加上 24 小时所得的结果显示 D 所指定的缓存器当中。 减算结果若是等于 0 话(0 时 0 分 0 秒),零旗号 M1020=On。 程式範例 当 X10=On 时,TADD 指令执行,将 D0~D2 所指定的万年历数据时、分、秒 与 D10~D12 所指定的万年历数据时、分、秒相减,所得到的结果存于指定 D20~D22 所指定的缓存器时、分、秒当中。 X10 TSUB D0 D10 D20 D0 20(時) 14(時) D20 5(時) D1 20(分) D11 30(分) D21 49(分) D2 5(秒) D12 8(秒) D22 57(秒) 20 時 20 分 5 秒 14 時 30 分 8 秒 5 時 49 分 57 秒 16-92
PLC 功能应用 API TRD 万年历资料读出 P 166 位装置 字符装置 16 位指令 (3 STEP) X Y M K H KnX KnY KnM T C D TRD 连续执行型 TRDP 脉波执行型 - - D *** - 操作数使用注意: 32 位指令 各装置使用范围请参考各系列机种功能规格表 - 指令說明 z 旗标信号:无 S1:时间被减数。 S2:时间加数。 D:时间和。 D:万年历现在时间读出后存放之装置。 EH/EH2/SV/EH3/SV2/SA/SX/SC 主机内建万年历时钟,而时钟共提供年、星期、月、 日、时、分、秒及共 7 组数据存放于 D1063~D1069 当中,TRD 指令的功能就是让 程序设计者直接将万年历现在时间读出至指定的 7 个缓存器当中。 D1063 只读取公元年份的右 2 位。 程式範例 当 X0=On 时,将万年历现在时间读出至指定的 D0~D6 缓存器当中。 D1064 之内容 1 表星期一、2 表星期二,类推,7 表星期日。 X0 TRD D0 特 D 项目 内容 一般 D 项目 D0 年(公元) D1063 年(公元) 00~99 D1 星期 D2 月 D1064 星期 1~7 D3 日 D4 时 D1065 月 1~12 D5 分 D6 秒 D1066 日 1~31 D1067 时 0~23 D1068 分 0~59 D1069 秒 0~59 16-93
API BIN→GRAY 码变换 170 D GRY P 位装置 字符装置 16 位指令(5 STEP) X Y M K H KnX KnY KnM T C D GRY 连续执行型 GRYP 脉波执行型 DGRYP 脉波执行型 S ******** D * * * * * 32 位指令(9 STEP) DGRY 连续执行型 操作数使用注意: 各装置使用范围请参考各系列机种功能规格表 z 旗标信号:无 指令說明 S:来源装置。 D:存放 GRAY 码之装置。 将 S 所指定装置之内容值(BIN 值)变换格雷码(GRAY CODE)后存放到 D 所指定之 装置中。 S 的有效范围如下所示,如果超出此范围时,视为运算错误,指令不执行。 16 位指令:0~32,767 32 位指令:0~2,147,483,647 程式範例 当 X0=On 时,将常数 K6513 变换格雷码(GRAY CODE)后存放到 D0 中。 16-94
PLC 功能应用 API GRAY 码→BIN 变换 171 D GBIN P 位装置 字符装置 16 位指令 (5 STEP) X Y M K H KnX KnY KnM T C D GBIN 连续执行型 GBINP 脉波执行型 脉波执行型 S ******** D * * * * * 32 位指令(9 STEP) DGBIN 连续执行型 DGBINP 操作数使用注意: 各装置使用范围请参考各系列机种功能规格表 z 旗标信号:无 指令說明 S:存放 GRAY 码之来源装置。 D:存放变换后 BIN 值之装置。 将 S 所指定装置之内容值(格雷码(GRAY CODE))变换成 BIN 值后存放到 D 所指 定之装置中。 本指令将连接于 PLC 输入端的绝对位置型编码器(此编码器的输出值通常是格雷码) 的内容变换成 BIN 值存放到指定的缓存器当中。 S 的有效范围如下所示,如果超出此范围时,视为运算错误,指令不执行。 16 位指令:0~32,767 32 位指令:0~2,147,483,647 程式範例 当 X20=On 时,将 X0~X17 输入点所连接之绝对位置型编码器其格雷码(GRAY CODE) 变换成 BIN 值后存放到 D10 中。 X20 GBIN K4X0 D10 X17 K4X0 X0 GRAY CODE 6513 0 0 0 1 0 1 0 1 1 1 0 0 1 0 0 1 b15 b0 H1971=K6513 0 0 0 1 1 0 0 1 0 1 1 1 0 0 0 1 16-95
API LD# S1 S2 接点型态逻辑运算 LD# 215~ D 217 位装置 字符装置 16 位指令 (5 STEP) X Y M K H KnX KnY KnM T C D LD# 连续执行型 - - - - S1 * * * * * * * * S2 * * * * * * * * 32 位指令 (9 STEP) DLD# 连续执行型 操作数使用注意:#:\&、|、^ 各装置使用范围请参考各系列机种功能规格表 旗标信号:无 指令 說明 S1:数据源装置 1。 S2:数据源装置 2。 S1 与 S2 之内容作比较的指令,比较结果不为 0 时,该指令导通,比较结果为 0 时,该指令不导通。 LD#的指令可直接与母线连接使用 API No. 16-bit 指令 32-bit 指令 导通条件 非导通条件 215 LD\& DLD\& S1 \& S2 ≠ 0 S1 \& S2 = 0 S1 | S2 ≠ 0 S1 | S2 = 0 216 LD| DLD| S1 ^ S2 ≠ 0 S1 ^ S2 = 0 217 LD^ DLD^ \&:逻辑的’及’(AND)运算。 |:逻辑的’或’(OR)运算。 ^:逻辑的’互斥或’(XOR)运算。 程式範例 C0 与 C10 的内容做逻辑的’及’(AND)运算不等于 0 时,Y10=On。 D200 与 D300 的内容做逻辑的’或’(OR)运算不等于 0 时,而且 X1=On 的时候, Y11=On 并保持住。 LD \& C0 C10 X1 Y10 LD I D200 D300 SET Y11 16-96
PLC 功能应用 API S1 S2 接点型态逻辑运算 AND# 218~ AND# D 220 位装置 字符装置 16 位指令 (5 STEP) X Y M K H KnX KnY KnM T C D AND# 连续执行型 - - - - S1 * * * * * * * * S2 * * * * * * * * 32 位指令 (9 STEP) DAND# 连续执行型 操作数使用注意:#:\&、|、^ 各装置使用范围请参考各系列机种功能规格表 旗标信号:无 指令 說明 S1:数据源装置 1。 S2:数据源装置 2。 S1 与 S2 之内容作比较的指令,比较结果不为 0 时,该指令导通,比较结果为 0 时,该指令不导通。 AND#的指令是与接点串接的运算指令。 API No. 16-bit 指令 32-bit 指令 导通条件 非导通条件 218 AND\& DAND\& S1 \& S2 ≠ 0 S1 \& S2 = 0 S1 | S2 ≠ 0 S1 | S2 = 0 219 AND| DAND| S1 ^ S2 ≠ 0 S1 ^ S2 = 0 220 AND^ DAND^ \&:逻辑的’及’(AND)运算。 |:逻辑的’或’(OR)运算。 ^:逻辑的’互斥或’(XOR)运算。 程式範例 当 X0=On 时且 C0 与 C10 的内容做逻辑的’及’(AND)运算不等于 0 时,Y10=On。 当 X1=Off 时且 D10 与 D0 的内容做逻辑的’或’(OR)运算不等于 0 时,Y11=On 并保持住。 当 X2=On 时且 32 位缓存器 D200(D201)与 32 位缓存器 D100(D101)的内容做逻辑 的’互斥或’(XOR)运算不等于 0 时或是 M3=On 的时候,M50=On。 X0 AND \& C0 C10 Y10 SET X1 M50 AND I D10 D0 Y11 X2 DAND^ D200 D100 M3 16-97
API S1 S2 接点型态逻辑运算 OR# 221~ OR# D 223 位装置 字符装置 16 位指令 (5 STEP) X Y M K H KnX KnY KnM T C D OR# 连续执行型 - - - - S1 * * * * * * * * S2 * * * * * * * * 32 位指令 (9 STEP) DOR# 连续执行型 操作数使用注意:#:\&、|、^ 各装置使用范围请参考各系列机种功能规格表 旗标信号:无 指令 說明 S1:数据源装置 1。 S2:数据源装置 2。 S1 与 S2 之内容作比较的指令,比较结果不为 0 时,该指令导通,比较结果为 0 时,该指令不导通。 OR#的指令是与接点串接的运算指令。 API No. 16-bit 指令 32-bit 指令 导通条件 非导通条件 221 OR\& DOR\& S1 \& S2 ≠ 0 S1 \& S2 = 0 S1 | S2 ≠ 0 S1 | S2 = 0 222 OR| DOR| S1 ^ S2 ≠ 0 S1 ^ S2 = 0 223 OR^ DOR^ \&:逻辑的’及’(AND)运算。 |:逻辑的’或’(OR)运算。 ^:逻辑的’互斥或’(XOR)运算。 程式範例 当 X1=On 时或 C0 与 C10 的内容做逻辑的’及’(AND)运算不等于 0 时,Y0=On。 当 X2 及 M30 都等于 On 的时候,或者是 32-bit 缓存器 D10(D11)与 32 位缓存器 D20(D21)的内容做逻辑的’或’(OR)运算不等于 0 时,或者是 32 位计数器 C235 与 32 位缓存器 D200(D201)的内容做逻辑的’互斥或’(XOR)运算不等于 0 时, M60=On。 X1 Y0 OR \& C0 C10 X2 M30 M60 DOR I D10 D20 DOR ^ D25 D200 16-98
PLC 功能应用 API S1 S2 接点型态比较 LD※ 224~ LD※ D 230 位装置 字符装置 16 位指令 (5 STEP) X Y M K H KnX KnY KnM T C D LD※ 连续执行型 - - - - S1 * * * * * * * * S2 * * * * * * * * 32 位指令 (9 STEP) DLD※ 连续执行型 操作数使用注意:※:=、>、<、<>、≦、≧ 各装置使用范围请参考各系列机种功能规格表 旗标信号:无 指令 說明 S1:数据源装置 1。 S2:数据源装置 2。 S1 与 S2 之内容作比较的指令,以 API 224(LD=)为例,比较结果为”等于”时, 该指令导通,”不等于”时,该指令不导通。 LD※的指令可直接与母线连接使用 API No. 16-bit 指令 32-bit 指令 导通条件 非导通条件 224 LD= DLD= S1 = S2 S1 ≠ S2 225 LD> DLD> S1 > S2 S1 ≦ S2 226 LD< DLD< S1 < S2 S1 ≧ S2 228 LD<> DLD<> S1 ≠ S2 S1 = S2 229 LD<= DLD<= S1 ≦ S2 S1 > S2 230 LD>= DLD>= S1 ≧ S2 S1 < S2 程式範例 C10 的内容等于 K200 时,Y10=On。 当 D200 的内容大于 K-30,而且 X1=On 的时候,Y11=On 并保持住。 LD= K200 C10 X1 Y10 LD> D200 K-30 SET Y11 DLD> K678493 C20 M50 M3 16-99
API S1 S2 接点型态比较 AND※ 232~ AND※ D 238 位装置 字符装置 16 位指令 (5 STEP) X Y M K H KnX KnY KnM T C D AND※ 连续执行型 - - - - S1 * * * * * * * * S2 * * * * * * * * 32 位指令 (9 STEP) DAND※ 连续执行型 操作数使用注意:※:=、>、<、<>、≦、≧ 各装置使用范围请参考各系列机种功能规格表 旗标信号:无 指令 說明 S1:数据源装置 1。 S2:数据源装置 2。 S1 与 S2 之内容作比较的指令,以 API 232(AND=)为例,比较结果为等于时, 该指令导通,不等于时,该指令不导通。 AND※的指令是与接点串接的比较指令。 API No. 16-bit 指令 32-bit 指令 导通条件 非导通条件 232 AND= DAND= S1 = S2 S1 ≠ S2 233 AND> DAND> S1 > S2 S1 ≦ S2 234 AND< DAND< S1 < S2 S1 ≧ S2 236 AND<> DAND<> S1 ≠ S2 S1 = S2 237 AND<= DAND<= S1 ≦ S2 S1 > S2 238 AND>= DAND>= S1 ≧ S2 S1 < S2 程式範例 当 X0=On 时且 C10 的现在值又等于 K200 时,Y10=On。 当 X1=Off 而缓存器 D0 的内容又不等于 K-10 的时候,Y11=On 并保持住。 当 X2=On 而且 32 位缓存器 D0(D11)的内容又小于 678,493 的时候或 M3=On 时, M50=On。 X0 AND= K200 C10 Y10 X1 AND<> K-10 D0 SET Y11 X2 M50 DAND> K678493 D10 M3 16-100
PLC 功能应用 API S1 S2 接点型态比较 OR※ 240~ OR※ D 246 位装置 字符装置 16 位指令 (5 STEP) X Y M K H KnX KnY KnM T C D OR※ 连续执行型 - - - - S1 * * * * * * * * S2 * * * * * * * * 32 位指令 (9 STEP) DOR※ 连续执行型 操作数使用注意:※:=、>、<、<>、≦、≧ 各装置使用范围请参考各系列机种功能规格表 旗标信号:无 指令 說明 S1:数据源装置 1。 S2:数据源装置 2。 S1 与 S2 之内容作比较的指令,以 API 240(OR=)为例,比较结果为等于时, 该指令导通,不等于时,该指令不导通。 OR※的指令是与接点并接的比较指令。 API No. 16-bit 指令 32-bit 指令 导通条件 非导通条件 240 OR= DOR= S1 = S2 S1 ≠ S2 241 OR> DOR> S1 > S2 S1 ≦ S2 242 OR< DOR< S1 < S2 S1 ≧ S2 244 OR<> DOR<> S1 ≠ S2 S1 = S2 245 OR<= DOR<= S1 ≦ S2 S1 > S2 246 OR>= DOR>= S1 ≧ S2 S1 < S2 程式範例 当 X0=On 时且 C10 的现在值又等于 K200 时,Y10=On。 当 X1=Off 而缓存器 D0 的内容又不等于 K-10 的时候,Y11=On 并保持住。 当 X2=On 而且 32 位缓存器 D0(D11)的内容又小于 678,493 的时候或 M3=On 时, M50=On。 X1 Y0 OR>= K200 C10 X2 M30 M60 DOR>= D100 K100000 16-101
API S1 S2 浮点数接点型态比较 LD※ 275~ FLD※ 280 位装置 字符装置 16 位指令 X Y M K H KnX KnY KnM T C D - - - - S1 * * * - - S2 * * * 32 位指令 (9 STEP) 操作数使用注意:#:\&、|、^ FLD※ 连续执行型 各装置使用范围请参考各系列机种功能规格表 旗标信号:无 指令 說明 S1:数据源装置 1。 S2:数据源装置 2。 S1 与 S2 之内容作比较的指令。以“FLD=”作为例子,比较结果为“等于”时,该指令 导通,“不等于”时,该指令不导通。 FLD※ 指令可直接在 S1,S2 操作数输入浮点数(例如:F1.2),或以缓存器 D 存 放浮点数进行运算。 指令可直接与母线连接使用 API No. 32-bit 指令 导通条件 非导通条件 275 FLD= S1 = S2 S1 ≠ S2 276 FLD> S1 > S2 S1 ≦ S2 277 FLD< S1 < S2 S1 ≧ S2 278 FLD<> S1 ≠ S2 S1 = S2 279 FLD<= S1 ≦ S2 S1 > S2 280 FLD>= S1 ≧ S2 S1 < S2 程式範例 当缓存器 D200(D201)的浮点数内容小于等于 F1.2 时,且 X1 也导通,此时 Y21 接 点状态会被触发并保持住。 X1 FLD<= D200 F1.2 SET Y21 16-102
PLC 功能应用 API S1 S2 浮点数接点型态比较 AND※ 281~ FAND※ 286 位装置 字符装置 16 位指令 X Y M K H KnX KnY KnM T C D - - - - S1 * * * - - S2 * * * 32 位指令 (9 STEP) 操作数使用注意:#:\&、|、^ FAND※ 连续执行型 各装置使用范围请参考各系列机种功能规格表 旗标信号:无 指令 說明 S1:数据源装置 1。 S2:数据源装置 2。 S1 与 S2 之内容作比较的指令。以“FAND=”作为例子,比较结果为“等于”时,该指 令导通,“不等于”时,该指令不导通。 FAND※ 指令可直接在 S1,S2 操作数输入浮点数(例如:F1.2),或以缓存器 D 存放浮点数进行运算。 指令可直接与母线连接使用 API No. 32-bit 指令 导通条件 非导通条件 281 FAND= S1 = S2 S1 ≠ S2 282 FAND> S1 > S2 S1 ≦ S2 283 FAND< S1 < S2 S1 ≧ S2 284 FAND<> S1 ≠ S2 S1 = S2 285 FAND<= S1 ≦ S2 S1 > S2 286 FAND>= S1 ≧ S2 S1 < S2 程式範例 当 X1=Off,而缓存器 D100(D101) 的浮点数内容又不等于 F1.2 的时候,Y21=On 并 保持住。 X1 D0 SET Y21 FAND<> F1.2 16-103
API S1 S2 浮点数接点型态比较 OR※ 287~ FOR※ 292 位装置 字符装置 16 位指令 X Y M K H KnX KnY KnM T C D - - - - S1 * * * - - S2 * * * 32 位指令 (9 STEP) 操作数使用注意:#:\&、|、^ FOR※ 连续执行型 各装置使用范围请参考各系列机种功能规格表 旗标信号:无 指令 說明 S1:数据源装置 1。 S2:数据源装置 2。 S1 与 S2 之内容作比较的指令。以“FOR=”作为例子,比较结果为“等于”时,该指令 导通,“不等于”时,该指令不导通。 FOR※ 指令可直接在 S1,S2 操作数输入浮点数(例如:F1.2),或以缓存器 D 存 放浮点数进行运算。 指令可直接与母线连接使用 API No. 32-bit 指令 导通条件 非导通条件 287 FOR= S1 = S2 S1 ≠ S2 288 FOR> S1 > S2 S1 ≦ S2 289 FOR< S1 < S2 S1 ≧ S2 290 FOR<> S1 ≠ S2 S1 = S2 291 FOR<= S1 ≦ S2 S1 > S2 292 FOR>= S1 ≧ S2 S1 < S2 程式範例 当 X2 及 M30 都等于“On”的时候,或者是缓存器 D100(D101)的浮点数内容大于或 等于 F1.234 时,M60=On。 X2 M30 M60 FOR>= D100 F1.234 16-104
PLC 功能应用 16-6-5 驱动器特殊应用指令详细说明 API RPR S1 S2 驱动器参数读取 P 139 位装置 字符装置 16 位指令 (5 STEP) RPRP 脉波执行型 C D RPR 连续执行型 - - XYM K H KnX KnY KnM T S1 * * * S2 * 32 位指令 操作数使用注意:无 -- 旗标信号:无 指令說明 S1 :欲读取数据的参数地址。 S2 :欲读取数据存放之缓存器。 API WPR S1 S2 驱动器参数写入 P 140 位装置 字符装置 16 位指令 (5 STEP) 脉波执行型 C D WPR 连续执行型 WPRP - XYM K H KnX KnY KnM T S1 * * * S2 * * 32 位指令 操作数使用注意:无 * --- 旗标信号:无 指令 說明 S1 :欲写入的资料。 S2 :欲写入数据的参数地址。 程式範例 将 C2000 驱动器的参数 H01.00 数据读出写到 D0,H01.01 资料读出写到 D1。 当 M0=On 时,将 D10 内容值写到 C2000 驱动器的参数 04.00(多段速第一段速度) 中。 当参数写入成功 M1017=On。 C2000 WPR 指令不支持 20XX 地址的写入,但 RPR 指令支持 21XX、22XX 的读 取。 M1000 RPR H100 D0 RPR H101 D1 運轉監視常開接點(a) M0 WPR D10 H400 建议 END 使用 WPR 指令时请注意,在写入参数时,由于大多参数都是当次写入时就记录了,而 这些参数只容许 109 次的更改次数,写入次数超过时,则会发生内存写坏的情形。 下述的常用参数,有特别处理过,因此”无”写入次数上的限制。 P00-10: 控制模式 P00-11: 速度模式选择 P00-12: P2P 位置模式 P00-13: 转矩模式选择 P00-27: 使用者定义内容值 P01-12: 加速时间 1 P01-13: 减速时间 1 P01-14: 加速时间 2 P01-15: 减速时间 2 16-105
P01-16: 加速时间 3 P01-17: 减速时间 3 P01-18: 加速时间 4 P01-19: 减速时间 4 P02-12: MI 模式选择 P02-18: MO 模式选择 P04-50 ~ P04-69: PLC 暂存参数 0 ~ 19 P08-04: 积分上限 P08-05: PID 输出上限 P10-17: 电子齿轮 A P10-18: 电子齿轮 B P11-34: 转矩命令 P11-43: P2P 最高频率 P11-44: 位置控制加速时间 P11-45: 位置控制减速时间 写入次数的计算是以写入值是否变更为依据。例如同时写 100 次同样的值,只会视为一 次。 如果 PLC 程序在编写上,如果不是很确定 WPR 指令的使用的情形,建议使用 WPRP 指 令。 16-106
PLC 功能应用 API FPID S1 S2 S3 S4 驱动器 PID 控制 141 P 位装置 字符装置 16 位指令 (9 STEP) 脉波执行型 C D FPID 连续执行型 FPIDP - XYM K H KnX KnY KnM T S1 * * * - - S2 * * * 32 位指令 S3 * * *- S4 * * 操作数使用注意:无 * 旗标信号:无 指令說明 S1 :PID 参考目标值输入端子选择。 S2 :PID 功能比例值增益 P。 S3 :PID 功能积分时间 I。 S4 :PID 功能微分时间 D。 此指令 FPID 可以直接控制驱动器的回授控制 PID 参数 08-00 PID 参考目标值输入 端子选择、08-01 比例值 P 增益、08-02 积分时间 I、08-03 微分时间 D。 程式範例 当 M0=On 时,设定 PID 参考目标值输入端子选择 0(无 PID 功能),PID 功能比例 值增益 P 为 0,PID 功能积分时间 I 为 1(单位:0.01 秒),PID 功能微分时间 D 为 1(单位:0.01 秒)。 当 M1=On 时,设定 PID 参考目标值输入端子选择 0(无 PID 功能),PID 功能比例 值增益 P 为 1(单位:0.01),PID 功能积分时间 I 为 0,PID 功能微分时间 D 为 0。 当 M2=On 时,设定 PID 参考目标值输入端子选择 1(目标频率输入由数字操作器控 制),PID 功能比例值增益 P 为 1(单位:0.01),PID 功能积分时间 I 为 0,PID 功能 微分时间 D 为 0。 D1027:PID 运算后之频率命令。 M0 FPID H0 H0 H1 H1 M1 FPID H0 H1 H0 H0 M2 FPID H1 H1 H0 H0 M1000 MOV D1027 D1 END 16-107
API FREQ S1 S2 S3 驱动器速度控制 P 142 16 位指令 (7 STEP) C D FREQ 连续执行型 FREQP 脉波执行型 位装置 字符装置 * XYM K H KnX KnY KnM T * 32 位指令 S1 * * *- - - - S2 * * S3 * 旗标信号:M1015 操作数使用注意:无 * 指令說明 S1 :频率命令。 S2 :加速时间。 S3 :减速时间。 S2 ,S3 : 加减速时间设定中, 其小数字数是根据 Pr01-45 的定义而定的. 例: 当 01-45= 0 : 单位 0.01 秒 如下方阶梯图中 S2 (加速时间)设定 50, 即为 0.5 sec, S3 (减速时间) 设定 60 , 即为 0.6 sec 此指令 FREQ 可控制驱动器频率命令、加速和减速时间,另使用特殊缓存器控制动作。如 下: M1025:控制驱动器 RUN(On)/STOP(Off)(RUN 需 Servo On(M1040 On)才有效) M1026:控制驱动器运转方向 FWD(Off)/REV(On) M1040:控制 Servo On(On)/ Servo Off(Off) 。 M1042:触发快速停车(ON)/不触发快速停车(Off) 。 M1044:暂停(On)/释放暂停(Off) M1052:锁住频率(On)/ 释放锁住频率(Off) 程式範例 M1025:驱动器 RUN(On)/STOP(Off),M1026:驱动器运转方向 FWD(Off) /REV(On)。 M1015:频率到达。 当 M10=On 时,设定驱动器频率命令 K300(3.00Hz),加速/减速时间为 0。 当 M11=On 时,设定驱动器频率命令 K3000(30.00Hz),加速时间为 50 (0.5 秒),减速时间 为 60 (0.6 秒)。(当 01-45=0 时) 当 M11=Off 时,此时驱动器频率命令会变为 0 M1000 M1025 K0 K0 M11 M1026 K50 K60 M1000 M1040 M12 M1042 M13 M1044 M14 M1052 M10 M11 FREQP K300 M11 M10 FREQ K3000 END 参数 09-33 定义为在 PLC 执行前的参考命令是否清除 Bit 0 : PLC 扫描程序前,把目标频率是否先清除为 0。(PLC 有开,且有写到 FREQ 指令) Bit 1 : PLC 扫描程序前,把目标转矩是否先清除为 0。(PLC 有开,且有写到 TORQ 指令) 16-108
PLC 功能应用 Bit 2 : PLC 扫描程序前,把转矩模式下的速度限制是否先清除为 0。(PLC 有开, 且有写到 TORQ 指令) 举例说明 : 当用户在写一段程序 M0 FREQ K2000 K1000 K1000 END 这时我们把 M0 强制为 1,则频率命令为 20.00 Hz,而当把 M0 设定为 0 时,则有不 同情况 Case 1:当 09-33 的 bit 0 为 0,M0 设定为 0 时,则频率命令仍保持为 20.00Hz Case 2:当 09-33 的 bit 0 为 1,M0 设定为 0 时,则频率命变回 0.00Hz 这原因为当 PLC 扫描程序前,当 09-33 的 bit 0 为 1 时,会把频率先清除为 0。 当 09-33 的 bit 0 为 0 时,则不做频率清除为 0 的动作。 16-109
API TORQ S1 S2 驱动器扭力控制 P 263 位装置 字符装置 16 位指令 (5 STEP) C D TORQ 连续执行型 TORQ P 脉波执行型 XYM K H KnX KnY KnM T S1 * * * S2 * * 32 位指令 * 操作数使用注意:无 ---- 旗标信号:M1063 指令 說明 S1 :扭力命令(有号数,小数 1 位)。 S2 :速度限制。 此指令 TORQ 可控制驱动器扭力命令和速度限制,另使用特殊缓存器控制动作。如下: M1040:控制 Servo On(On)/ Servo Off(Off)。如果 Servo ON 时,如果有执行 TORQ 指 令,则扭力会输出 TORQ 指令所定义的扭力输出,而频率限制同样会受到 TORQ 指令所限 制。 程式範例 M1040:控制 Servo On(On)/ Servo Off(Off)。M1063:扭力到达。D1060 为模式控制。D1053 为实际扭力。 当 M0=Off 时,设定驱动器扭力命令 K+500(+50.0%),转速限制为 3000(30Hz)。 当 M0=On 时,设定驱动器扭力命令 K-300(-30.0%),转速限制为 3000(30Hz)。 当 M10=On 时,驱动器开始输出转矩命令。 当转矩到达时,M1063 会 On,然而通常此旗标会一直跳动。 M1000 MOV K2 D1060 運轉監視 常開 接 點(a) 控 制 模 式 設 定( 2 :轉 矩 模 式) M0 MOV D1053 D0 M0 M10 實 際 扭 力( - 10 0 . 0 % ~ + 100 % ) M1063 TORQ K-300 K3000 扭力到達 TORQ K500 K3000 (M1040) 硬體供電 ( Y0 ) END 参数 09-33 定义为在 PLC 执行前的参考命令是否清除 Bit 0 : PLC 扫描程序前,把目标频率是否先清除为 0。(PLC 有开,且有写到 FREQ 指令) Bit 1 : PLC 扫描程序前,把目标转矩是否先清除为 0。(PLC 有开,且有写到 TORQ 指令) Bit 2 : PLC 扫描程序前,把转矩模式下的速度限制是否先清除为 0。(PLC 有开,且有写到 TORQ 指令) 举例说明 : M1 TORQ K300 K400 END 这时我们把 M1 强制为 1,则转矩命令为 K+300(+30 %) , 速度限制为 400(40Hz) ,而当把 M1 设定为 0 时,则有不同情况 Case 1:当 09-33 的 bit 1,bit2 皆设为 0,M1 设定为 0 时,则转矩命令仍保持为+30 %,且速 度限制也会被设为 40Hz。 Case 2:当 09-33 的 bit 1,bit2 皆设为 1,M1 设定为 0 时,则转矩命令会变回 0%,且速度限 制也会被设为 0Hz。 16-110
PLC 功能应用 API DPOS S1 驱动器点对点控制 P 262 位装置 字符装置 16 位指令 X Y M K H KnX KnY KnM T C D - - - - * * * 32 位指令(5 STEP) 操作数使用注意:无 DPOS 连续执行型 DPOSP 脉波执行型 旗标信号:M1064、M1070 指令說明 S1 :目标位置(为有号数)。 此指令 DPOS 可控制驱动器位置命令,透过使用特殊缓存器控制动作。如下: M1040:控制 Servo On(On)/ Servo Off(Off)。M1055 搜寻原点。M1048 移动到新位 置点。如果控制模式为位至模式(D1060 = 1),另外变频器在 Servo ON(M1040 = 1) 时,如果有执行 DPOS 指令,搭配 M1048 触发一次(OFF 到 ON),则驱动器会移动 至新的位置点。 程式範例 M1040:控制 Servo On(On)/ Servo Off(Off)。M1064:位置到达。D1060 为模式控 制。D1051(L) 和 D1052(H) 为实际位置点。 当 X0=On 时,设定 M1040 为 On(Servo On)。 当 X1=On 时,设定 DPOS 位置为+300000,延迟 1 秒后把 M1048 变为 On(移动到新 位置)。此时可以观察 D1051 的值是否有变动,而当位置点到达之后,M1064 会 ON 起 来,此时 Y0 会输出 On。 0 M1002 MOV K2 D1060 控 制 模 式 設 定( 1:位 置 模 式) 啟始正向 (RUN瞬間) 6 M1000 DMOV D1051 D0 實際位置(Low word) 運 轉 監 視 常 開 接 點( a) 16 X0 (M1040) 硬體供電 FWD 18 X1 DPOS K300000 REV TMR T0 K10 T0 (M1048) 移動到新位置 M1064 30 ( Y0 ) RY1 目標位置到達 END 32 16-111
API CANRX S1 S2 S3 D 读取 CANopen 从站数据 261 P 位装置 字符装置 16 位指令 (9 STEP) X Y M K H KnX KnY KnM T C D CANRX 连续执行型 CANRXP 脉波执行型 S1 * * 32 位指令 S2 * * ---- S3 * * D *** 操作数使用注意:无 旗标信号: 指令 說明 S1 :从站站号。 S2 :主索引。 S3 :副索引+bit 长度。 D :预存入的地址。 此指令 CANRX 可读取所对应从站的索引,当执行时,会发送 SDO 的讯息格式给 从站,此时 M1066 和 M1067 同时为 0,而读取完成时会把 M1066 设为 1,如果 从站有正确响应,则会把值写到所设定的缓存器,并把 M1067 设为 1,而若从站回 应错误时,则会把 M1067 设为 0,并把错误的讯息纪录到 D1076~D1079。 程式範例 M1002:PLC stop 到 run 时,触发 ON 一次,此时把 K4M400 = K1 之后每当 M1066 为 1 时,则切换不同的讯息 M1002 MOV K1 K4M400 0 啟 動 正 向(RUN的 瞬 間) M1066 TMR T10 K5 6 讀 寫CA Nopen T10 資料完成 ROLP K4M400 K1 M400 CANRXP K1 H6041 D120 17 CANRXP K2 H6041 D121 M401 27 CANTXP K1 D120 H6040 M402 CANTXP K2 D120 H6040 37 CANFLS D2025 M403 從 站1的 速 度 圖 表( H) 47 CANFLS D2125 M404 從 站1的 速 度 圖 表( H) 57 M405 61 65 END 16-112
PLC 功能应用 API CANTX S1 S2 S3 S4 写入 CANopen 从站资料 264 P 位装置 字符装置 16 位指令 (9 STEP) X Y M K H KnX KnY KnM T C D CANTX 连续执行型 CANTXP 脉波执行型 S1 * * * * * 32 位指令 S2 * * - -- - S3 * * S4 * * 旗标信号: 操作数使用注意:无 指令 說明 S1 :从站站号。 S2 :欲写入的地址。 S3 :主索引。 S4 :副索引+bit 长度。 此指令 CANTX 可写值到所对应从站的索引,当执行时,会发送 SDO 的讯息格式 给从站,此时 M1066 和 M1067 同时为 0,而读取完成时会把 M1066 设为 1,如 果从站有正确响应,则会把值写到所设定的缓存器,并把 M1067 设为 1,而若从 站回应错误时,则会把 M1067 设为 0,并把错误的讯息纪录到 D1076~D1079。 16-113
API CANFLS D 更新 CANopen 对应的特 D P 265 16 位指令 (3 STEP) C D CANFLS 连续执行型 CANFLSP 脉波执行型 位装置 K 字符装置 * 32 位指令 XYM H KnX KnY KnM T - -- - D * 操作数使用注意:无 旗标信号: 指令 說明 D :欲更新的特 D。 此指令 CANFLS 可更新特 D 的命令,当属性为只读时,执行此指令时,会发送等 同于 CANRX 的讯息给从站,而把从站站号回传的数据自行更新到此特 D。如果属 性为可擦写时,执行此指令时,会发送等同于 CANTX 的讯息给从站,而把此特 D 的值写入到所对应的从站。 M1066 和 M1067 同时为 0,而读取完成时会把 M1066 设为 1,如果从站有正确 响应,则会把值写到所设定的缓存器,并把 M1067 设为 1,而若从站回应错误时, 则会把 M1067 设为 0,把错误的讯息纪录到 D1076~D1079。 API ICOMR D 内部通讯读取 DP 320 位装置 字符装置 16 位指令 (9 STEP) X Y M K H KnX KnY KnM T C D ICOMR 连续执行型 ICOMRP 脉波执行型 S1 * * * S2 * * * 32 位指令 (17 STEP) S3 * * * DICOMR 连续执行型 DICOMRP 脉波执行型 D ** * 操作数使用注意:无 旗标信号:M1077 M1078 M1079 指令說明 S1 :从机选择。 S2 :Device 选择 (0: 变频器 1: 内部 PLC)。 S3 :读取地址 。 D :存放目标。 此指令 ICOMR 可以获取从站的变频器和所内置 PLC 的缓存器值。 16-114
PLC 功能应用 API ICOMW D 内部通讯写入 DP 321 位装置 字符装置 16 位指令 (9 STEP) X Y M K H KnX KnY KnM T C D ICOMW 连续执行型 ICOMWP 脉波执行型 S1 * * * S2 * * * 32 位指令(17 STEP) S3 * * * DICOMW 连续执行型 DICOMWP 脉波执行型 D ** * 操作数使用注意:无 旗标信号:M1077 M1078 M1079 指令說明 S1 :从机选择。 S2 :Device 选择 (0: 变频器 1: 内部 PLC)。 S3 :读取地址 。 D :存放目标。 此指令 ICOMW 可以写值到从站的变频器和所内置 PLC 的缓存器值。 参考下述范例: ~ 內部通訊 ~ 程式範例 MOV D1117 K2M700 節點 在線/錯誤映 射 MOV M1000 MOV 內 部 節 點 在 節 點0在 線 0 線對應 運轉監視 D1116 K2M720 常 開 接 點( a) 內 部 節 點 在 節 點0發 生 讀寫資訊 錯誤 17 M1002 K1 D1110 內部節點通訊控制 ( M1035 ) 啟動內部通訊控制 啟 始 正 向( R U N的 瞬 間) MOV K1 K4M0 M4 讀 節 點0的M I狀 態 Repeat M120 M50 M0 ICMR K0 K0 24 D0 InnerCOM 傳送請求 讀 節 點0的M I狀 態 Ready ICMR K0 K0 M1 讀 節 點0的AVI D1 M2 ICMW K0 K0 D5 讀 節 點0的 輸 出 狀 態 ICMW K0 K0 M3 讀 節 點0的AFM1 D6 M1002 MOV K0 D100 70 讀 節 點0的M I狀 態 啟 始 正 向( R U N的 瞬 間) ROLP K4M0 K1 M1077 M1078 M1079 76 讀 節 點0的M I狀 態 485讀寫 485讀寫 485通訊 INCP D100 完成 錯誤 超時 INC D30 M1077 87 內部通訊讀寫延遲 48 5讀 寫 D30 K1 MOV K0 D30 完成 內部通訊讀寫延遲 內部通訊讀寫延遲 102 ( M50 ) 9999 傳送請求 END 16-115
16-7 错误显示及处理 Code ID Descript 建议处理方式 PLrA 47 RTC 时间校验 重新设定 Keypad 时间后,断电重开 PLrt 49 RTC 时间不正确 检视 Keypad 确实连接上后,断电重开 PLod 50 数据写入内存错误 检视程序是否有错误并重新下载程序 PLSv 51 程序执行时数据写入内存错误 重新上电及重新下载程序 PLdA 52 传程序时发生错误 请重新再上传,如持续发生请送厂维修 PLFn 53 下载程序时指令错误 检视程序是否有错误并重新下载程序 PLor 54 程序超过内存容量或无程序 重新上电及重新下载程序 PLFF 55 程序执行时指令错误 检视程序是否有错误并重新下载程序 PLSn 56 检查码错误 检视程序是否有错误并重新下载程序 PLEd 57 程序中没有结束指令 END 检视程序是否有错误并重新下载程序 PLCr 58 MC 指令连续使用 9 次以上 检视程序是否有错误并重新下载程序 PLdF 59 Download 程序错误 检视程序是否有错误并重新下载程 PLSF 60 PLC 扫描时间逾时 检视程序代码是否有写错并重新下载程 16-116
PLC 功能应用 16- 8 CANopen Master 控制应用 在有些应用场合,需要做简易的多轴控制应用控制时,如果 Device 有支持 CANopen 协议的话,可以 将其中一台 C2000 当作 Master 来做简易的控制(位置、速度、归原点以及扭力控制)。而设定方式分 7 个步骤,如下: 步骤一:开启 CANopen Master 功能 1. 参数 09-45=1(启动 Master 功能,设定完断电之后再开电,在数字操作器 KPC-CC01 的状态栏会显 示”CAN Master ”。 2. 参数 00-02=6 重置 PLC (注意,此动作会把程序和 PLC 的缓存器清除成出厂值) 3. 断电重开。 4. 透过数字操作器 KPC-CC01 设定 PLC 控制模式为”PLC Stop” (若使用数字操作器 KPC-CE01,则设 定为”PLC 2”,如果是拿到刚出厂的驱动器,则因为里面的 PLC 程序是空的,会出现 PLFF 警告码)。 步骤二:主站的内存设定 1. 接上 485 的通讯线之后,透过 WPL Soft 设定 PLC 状态为 stop(如果 PLC 模式已经切换” PLC Stop” 模式时,PLC 状态应该已经为 stop) 2. 设定欲控制的从站地址及对应站号,例如要控制 2 站的从站(同步控制最多 8 个站),其站号分别为 21 和 22,则只需把 D2000 和 D2100 设为 20 和 21,再把 D2200、D2300、D2400、D2500、D2600 和 D2700 设为 0 即可,而设定的方式是透过 PLC 的编辑软件 WPL 来作,操作如下: 开启 WPL 并执行通讯 > 缓存器编辑(T C D) 的功能 16-117
当跳出 PLC 缓存器的窗口后,会跳出缓存器的设置画面,如下所示。 如果是尚未做过任何设定,也就是新的 PLC 程序,则可以先从变频器默认的数据读出,再来修改成应用的 情况就可以了。反之如果已经设定过了,此时会看到 CANopen 区域的特 D 都有之前所存的状态(CANopen 相关的 D 区位于 D1090~D1099 和 D2000~D2799)。我们先假定是新的程序,所以我们先从变频器读取默 认的值,如果通讯不通确认通讯格式(默认 PLC 为站号为 2,9600,7N2,ASCII)。如下步骤所示:(1. 切 换 PLC 到 Stop 状态。2.单击传输键。3.在跳出的窗口下点选读取内存。4. 把 D0~D399 忽略。5.点选确认 键。) 16-118
PLC 功能应用 读出之后,我们必须对一些特 D 做设定的动作。在这之前,我先介绍一下这些特 D 的涵义和区域范围,目 前 CANopen Master 的特 D 范围是从 D1070 ~D1099 和 D2000~D2799,而此区域分为 3 块: 第一区为 显示当前 CANopen 状态显示,范围从 D1070~D1089; 第二区为 CANopen 的基本设定,范围从 D1090~D1099; 第三区为 从站的映像和控制区域,范围从 D2000~D2799; 因此分别介绍如下: 第一区 显示当前 CANopen 状态显示: 当主站初始化从站时,我们可以从 D1070 得知是否已经完成从机的配置,以及从 D1071 获得配置过程中 是否出错,另外 D1074 可以知道配置是否有不恰当的情形。 进入正常控制之后,可以从 D1073 得知是否有从机已经断线。此外,如果我们有用到 CANRX CANTX CANFLS 指令对从机读写信息的话,如果读写失败,可以从 D1076~D1079 来获得相关错误的信息。 特D 功能说明 R/W D1070 R D1071 CANopen 初始化完成的通道 (bit0=Machine code0 …….) R D1072 CANopen 初 始 化 过 程 发 生 错 误 的 通 道 (bit0=Machine - D1073 code0 …….) R 保留 D1074 CANopen 断线信道 (bit0=Machine code0 …….) R 主站发生错误的错误代码 0: 没有错误 1: 从站设定错误 2: 同步周期设定错误(太小) 16-119
特D 功能说明 R/W - D1075 保留 R D1076 SDO 的错误讯息(主索引值) R D1077 SDO 的错误讯息(副索引值) R R D1078 SDO 的错误讯息(错误代码 L ) 默认值 R/W D1079 SDO 的错误讯息(错误代码 H ) 4 RW 第二区 CANopen 的基本设定:(此区设定 PLC 需在 Stop 之下) 我们需设定主站和从站信息交换的时间, 特D 功能说明 D1090 同步周期设定 透过 D1090 来设定,而设定时间的关系为 例如通讯速度为 500K,TXPDO + RXPDO 共 8 组,则同步时间需设超过 4 ms 此外我们需要定义要开几站从站,而 D1091 则是定义启用的通道,而 D2000+100*n 则是定义此通道的站 号,详细对应如下方说明。 从站编号 n=0~7 特D 功能说明 R/W D1091 设定从站的开启或关闭(bit0~bit7 对应从站编号 0~7) RW D2000+100*n 从站站号 RW 16-120
PLC 功能应用 如果从机的开机比较慢,则主站可以先延迟一段时间后再开始对从站做设置,这时间延迟可以透过 D1092 来设定。 特D 功能说明 默认值 R/W D1092 开始初始化之前的延迟 0 RW 在对从机初始化时,可以设置判定出使化失败的延迟时间,如果通讯速度比较慢,则可以调整判定是否初始 化完成延迟的时间,避免还来不及对从机初始化。 特D 功能说明 默认值 R/W D1099 15 秒 RW 初始化完成的延迟时间 设定范围:1~60000 秒 当通讯起来后,需要侦测从站是否断线,则透过 D1093 设定侦测时间,D1094 设定连续几次错误发生时 触发断线错误。 特D 功能说明 默认值 R/W D1093 断线时间侦测 1000ms RW D1094 断线次数侦测 3 RW 另外进入正常通讯之前,可以设定 PDO 的传送封包类型,原则上这可以不用调整。 特D 功能说明 默认值 R/W D1097 1 RW 实时对应的传送类型(PDO) 设定范围:1~240 16-121
特D 功能说明 默认值 R/W D1098 1 RW 实时对应的接收类型(PDO) 设定范围:1~240 第三区是从站的映像和控制区域。 因为 CANopen 有提供 PDO 的方式来达到主站和从站的内存映像,也就是主站直接可以对某个内存读写数 据,主站的内部就会自动跟对应的从机做数据交换的动作,当进入实时对应后(M1034 = 1 时),就可以直接 对特 D 读写值即可。目前 C2000 已有支持 4 组 PDO 的实时映像,另外各分为 RXPDO(读取从机信息)和 TXPDO(写值到从机)2 种 PDO 。此外,为了控制方便,C2000 也已经把对应常用到的缓存器做过映像了, 以下是目前各 PDO 映射的情况: TX PDO PDO4 (扭力) PDO3 (位置) PDO2 (Remote I/O) PDO1 (速度) 说明 特D 说明 特D 说明 特D 说明 特D 控制字 D2008+100*n 控制字 D2008+100*n 从机 DO D2027+100*n 控制字 D2008+100*n 目标转矩 D2017+100*n 目标位置 D2020+100*n 从机 AO1 D2031+100*n 目标速度 D2012+100*n D2021+100*n 控制模式 D2010+100*n 控制模式 D2010+100*n 从机 AO2 D2032+100*n 从机 AO3 D2033+100*n RXPDO PDO4 (扭力) PDO3 (位置) PDO2 (Remote I/O) PDO1 (速度) 说明 特D 说明 特D 说明 特D 说明 特D 状态字 D2009+100*n 状态字 D2009+100*n 从机 DI D2026+100*n 状态字 D2009+100*n 实际扭力 D2018+100*n 实际位置 D2022+100*n 从机 AI1 D2028+100*n 实际频率 D2013+100*n D2023+100*n 实际模式 D2011+100*n 实际模式 D2011+100*n 从机 AI2 D2029+100*n 从机 AI3 D2030+100*n 因此使用上只需要很简单的把对应的 PDO 启用起来就可以了,开启的方式 TXPDO 是透过 D2034+100*n 设定,而 RXPDO 是透过 D2067+100*n 设定。 而这 2 个特 D 定义如下: 预设定义 15 PDO4 PDO3 PDO2 PDO1 bit En 扭力 位置 Remote I/O 速度 定义 14 ~ 12 11 10 ~ 8 3 2~0 En 长度 7 6~4 En 长度 长度 En 长度 En:表示是否启用 PDO 长度: 表示要映像几个变量 因此,我们简单来举个例子,如果想控制 C2000 的从机,让它操作在速度模式,则只需设定以下情况: D2034+100*n =000Ah TX PDO 长度 PDO4 PDO3 PDO2 PDO1 1 说明 特D 说明 特D 说明 特D 说明 特D 2 控制字 D2008+100*n 控制字 D2008+100*n 从机 DO D2027+100*n 控制字 D2008+100*n 目标转矩 D2017+100*n 目标位置 D2020+100*n 从机 AO1 D2031+100*n 目标速度 D2012+100*n D2021+100*n 3 控制模式 D2010+100*n 控制模式 D2010+100*n 从机 AO2 D2032+100*n 4 从机 AO3 D2033+100*n 定义 PDO4 PDO3 PDO2 PDO1 bit 扭力 位置 Remote I/O 速度 定义 15 14 ~ 12 11 10 ~ 8 3 2~0 00 00 7 6~4 12 00 16-122
PLC 功能应用 D2067+100*n =000Ah TX PDO 长度 PDO4 PDO3 PDO2 PDO1 1 说明 特D 说明 特D 说明 特D 说明 特D 2 控制字 D2009+100*n 控制字 D2009+100*n 从机 DI D2026+100*n 控制字 D2009+100*n 实际扭力 D2018+100*n 实际位置 D2022+100*n 从机 AI1 D2028+100*n 实际频率 D2013+100*n D2023+100*n 3 实际模式 D2011+100*n 实际模式 D2011+100*n 从机 AI2 D2029+100*n 4 从机 AI3 D2030+100*n 定义 PDO4 PDO3 PDO2 PDO1 bit 扭力 位置 Remote I/O 速度 定义 15 14 ~ 12 11 10 ~ 8 3 2~0 00 00 7 6~4 12 00 设定完成之后,让 PLC 切换至 RUN,此时等待完成 CANopen 初始化成功后(M1059 = 1 且 M1061 = 0), 继 而 启 动 CANopen 的 内 存 映 像 (M1034 = 1) , 这 时 控 制 字 和 频 率 命 令 会 自 动 更 新 到 所 对 应 的 从 机 ( D2008+n*100 和 D2012+n*100 ),而从机的状态字和当前频率也会自动回传到主站上( D2009+n*100 和 D2013+n*100 ),这也就是表示主站只需直接对此特 D 读写即可。 另外附带一提,PDO2 的 Remote I/O 是表示主站可以获取从机当前的 DI 和 AI 状态,也可以控制从机的 DO 和 AO 状态。然而在介绍完自动映射的特 D 后,C2000 的 CANopen 主站还提供额外信息的更新,例如在速 度模式下,加减速设定也有可能会更新到,因此在特 D 上还有存放一些比较少需要实时对应的信息,而这些指 令可以透过 CANFLS 指令来做更新。以下是目前 C2000 的 CANopen 主站所开放的数据交换的区域,范围 从 D2001+100*n ~ D2033+100*n,如下所示: 1. n 范围为 0~7, 2. ●表示 PDOTX, ▲表示 PDORX, 未标示的特 D 可透过 CANFLS 指令更新 特D 功能说明 默认值 PDO 默认值 R/W 1234 D2000+100*n 从站编号 n 的站号 0 RW D2002+100*n 设定范围:0~127 0:无 CANopen 功能 0R 从站编号 n 的厂家代码(L) D2003+100*n 从站编号 n 的厂家代码(H) 0 R D2004+100*n 从站编号 n 的厂家的产品代码(L) 0 R D2005+100*n 从站编号 n 的厂家的产品代码(H) 0 R 基本定义 特D 功能说明 默认值 PDO 默认值 R/W 1234 D2006+100*n 从站编号 n 通讯断线处置方式 0 RW D2007+100*n 从站编号 n 的错误代码 Error code 0 R D2008+100*n 从站编号 n 的控制字 0● ● ● RW D2009+100*n 从站编号 n 的状态字 0▲ ▲▲R D2010+100*n 从站编号 n 的控制模式 2 RW D2011+100*n 从站编号 n 的实际模式 2 R 16-123
速度控制 特D 功能说明 默认值 PDO 默认值 R/W 1234 D2001+100*n 从站编号 n 的转矩限制 0 RW D2012+100*n 从站编号 n 的目标速度(rpm) 0● RW D2013+100*n 从站编号 n 的实际速度(rpm) 0▲ R D2014+100*n 从站编号 n 的误差速度(rpm) 0 R D2015+100*n 从站编号 n 的加速时间(ms) 1000 RW D2016+100*n 从站编号 n 的减速时间(ms) 1000 RW 扭力控制 特D 功能说明 默认值 PDO 默认值 R/W 1234 D2017+100*n 从站编号 n 的 目 标 扭 力 0 ● RW (-100.0%~+100.0%) 0 D2018+100*n 从站编号 n 的实际扭力(XX.X%) ▲R D2019+100*n 从站编号 n 的实际电流(XX.XA) 0 R 位置控制 特D 功能说明 默认值 PDO 默认值 R/W 1234 D2020+100*n 从站编号 n 的目标位置(L) 0 RW D2021+100*n 从站编号 n 的目标位置(H) 0 ● RW D2022+100*n 从站编号 n 的实际位置(L) 0 R D2023+100*n 从站编号 n 的实际位置(H) 0 ▲ R D2024+100*n 从站编号 n 的速度图表(L) 10000 RW D2025+100*n 从站编号 n 的速度图表(H) 0 RW Remote I/O 特D 功能说明 默认值 PDO 默认值 R/W 1234 D2026+100*n 从站编号 n 的 MI 状态 0▲ R D2027+100*n 从站编号 n 的 MO 设定 0● RW D2028+100*n 从站编号 n 的 AI1 状态 0▲ R D2029+100*n 从站编号 n 的 AI2 状态 0▲ R D2030+100*n 从站编号 n 的 AI3 状态 0▲ R D2031+100*n 从站编号 n 的 AO1 设定 0● RW D2032+100*n 从站编号 n 的 AO2 设定 0● RW D2033+100*n 从站编号 n 的 AO3 设定 0● RW 了解特 D 的定义之后,我们回到设定的步骤,我们填入对应的 D1090 ~ D1099 、D2000+100*n、D2034+100*n 和 D2067+100*n 的值后,开始执行下载的动作。如下步骤所示所示: (1. D2000 和 D2100 设为 20 和 21, 再把 D2200、D2300、D2400、D2500、D2600 和 D2700 设为 0,如果设置 0 麻烦,也可以设定 D1091 = 3 也可以把 2~7 的从站关闭。2.切换 PLC 到 Stop 状态。3.单击传输键。4.在跳出的窗口下点选写入内存。5. 把 D0~D399 忽略。6.第 2 区范围改为从 D1090~D1099。7.点选确定。) 16-124
PLC 功能应用 另一种方式可以设定 D1091,把从站编号 0~7 看哪个不需用到,就把对应的 bit 设 0,例如不想控制从站 2、6 和 7 ,则只需设定 D1091 = 003B 及可,而设定方式如同上述方式一样,透过 WPL 执行通讯 > 缓 存器编辑(T C D) 的功能去做设定。 步骤三:设定主站的通讯站号及通讯速度 ; 设主站的站号(参数 09-46,预设为 100) ,注意不要跟从站设一样。 ; 设 CANopen 的通讯速度(参数 09-37),通讯速度无论驱动器定义为主站或从站,皆由此参数设定。 16-125
步骤四:撰写程序代码 实时对应:可以直接读写到对应的 D 区。 非实时对应的: 读取指令:使用 CANRX 指令来做读取,如果读取完成 M1066 会为 1,如果成功 M1067 会为 1,错 误 M1067 会为 0。 写入指令:使用 CANTX 指令来做写入,如果设定完成 M1066 会为 1。如果成功 M1067 会为 1,错误 M1067 会为 0。 更新指令:使用 CANFLS 指令来做更新(如果是 RW 属性,主站会把值写到从站,如果是 RO 属性, 则会把由从站读回的值放回主站),如果更新完成 M1066 会为 1。如果成功 M1067 会为 1, 错误 M1067 会为 0。 NOTE 当使用 CANRX、CANTX 或 CANFLS 时,内部执行命令会等到 M1066 完成时,才会再做下一次的 CANRX、CANTX 或 CANFLS。 之后 download 程序到驱动器(注意,出厂的 PLC 通讯格式为 ASCII 7N2 9600 ,站号为 2 ,因此 WPL 的 设定要改一下,而 WPL 的设定路径是在 设定 > 通信设置 ) 步骤五:设定从站的站号、通讯速度、控制来源和命令来源 台达支持 CANopen 通讯接口的驱动器现有 C2000 和 EC 系列机种,而对应从站站号和通讯速度的参数如 下: 机种对应的参数 值 定义 C2000 E-C 0 Disable CANopen 硬件接口 CANopen 通讯地址 从站地址 09-36 09-20 1~127 1M 0 500K 通讯速度 09-37 09-21 1 250K 2 125K 控制来源 3 100K 频率来源 4 50K 扭力来源 5 位置来源 00-21 - 3 - 02-01 5 6 00-20 - 5 - 02-00 3 - 11-33 - 3 - - - - 11-40 - - 台达支持 CANopen 通讯接口的伺服现阶段有 A2,而对应从站站号和通讯速度的参数如下: 从站地址 机种对应的参数 值 定义 A2 1~127 CANopen 通讯地址 03-00 R= 0 125K R= 1 250K 通讯速度 03-01 的 bit8~11 XRXX R= 2 500K R= 3 750K R= 4 1M 控制/命令来源 01-01 B 16-126
PLC 功能应用 步骤六:连接硬件线路 接线时,需注意头尾接终端电阻,接法如下: 步骤七:启动控制 把程序写好并下载之后,把 PLC 模式切换为 PLC Run 即可。把主站和从站断电重开即可。 参考 CANMasterTest 1 vs 2 driver.dvp 范例: 驱动器 C2000 一对二控制 步骤一:开启 CANopen Master 功能 ; 参数 09-45=1(启动 Master 功能,设定完断电之后再开电,在数字操作器 KPC-CC01 的状态栏会显示”CAN Master ”。 ; 参数 00-02=6 重置 PLC (注意,此动作会把程序和 PLC 的缓存器清除成出厂值) ; 断电重开。 ; 透过数字操作器 KPC-CC01 设定 PLC 控制模式为”PLC Stop” (若使用数字操作器 KPC-CE01,则设定为”PLC 2”,如果是拿到刚出厂的驱动器,则因为里面的 PLC 程序 是空的,会出现 PLFF 警告码)。 步骤二:主站的内存对应 2700=0 ; 开启 WPL ; Keypad 设定 PLC 模式为 PLC Stop (PLC 2) ; WPL 读取 D1070~D1099 D2000~D2799 ; 设 D2000=10 D2100=11 ; 设 D2100 2200 2300 2400 2500 2600 ; 下载 D2000~D2799 设定 步骤三:设定主站的通讯站号及通讯速度 ; 设主站的站号(参数 09-46,预设为 100) ,注意不要跟从站设一样。 ; 设 CANopen 的通讯速度为 1M(参数 09-37=0),通讯速度无论驱动器定义为主站或从站, 皆由此参数设定。 16-127
步骤四:撰写程序代码 实时对应:可以直接读写到对应的 D 区。 非实时对应的: 读取指令:使用 CANRX 指令来做读取,如果读取完成 M1066 会为 1,如果成功 M1067 会为 1,错误 M1067 会为 0。 写入指令:使用 CANTX 指令来做写入,如果设定完成 M1066 会为 1。如果成功 M1067 会为 1,错误 M1067 会为 0。 更新指令:使用 CANFLS 指令来做更新(如果是 RW 属性,主站会把值写到从站,如果 是 RO 属性,则会把由从站读回的值放回主站),如果更新完成 M1066 会为 1。如果成功 M1067 会为 1,错误 M1067 会为 0。 NOTE 当使用 CANRX、CANTX 或 CANFLS 时,内部执行命令会等到 M1066 完成时,才会再做下一次的 CANRX、 CANTX 或 CANFLS。 之后 download 程序到驱动器(注意,出厂的 PLC 通讯格式为 ASCII 7N2 9600 ,站号为 2 , 因此 WPL 的设定要改一下,而 WPL 的设定路径是在 设定 > 通信设置 ) 步骤五:设定从站的通讯站号及通讯速度 09-36=10(站号 10) 从站编号 1: 09-37 = 0(速度 1M) 09-36=10(站号 11) 从站编号 2: 09-37 = 0(速度 1M) 步骤六:连接硬件线路 接线时,需注意头尾接终端电阻,接法如下: 步骤七:启动控制 把程序写好并下载之后,把 PLC 模式切换为 PLC Run 即可。把主站和从站断电从开即可。 参考 CANMasterTest 1 vs 2 driver.dvp 16-128
PLC 功能应用 16-9 PLC 各种模式控制解说 (速度、转矩、归原点以及位置) 转矩模式与位置模式必须基于 FOC 矢量控制,而速度模式也支持 FOC 矢量控制,因此对于转矩 模式和位置模式,或基于 FOC 的速度模式时,必须提前完成马达参数自学习,否则无法完成控制。 此外,马达分为 IM 和 PM 两种,对于 IM 马达而言只需要进行马达参数自学习即可,而 PM 马达在完 成马达参数自学习后,还必须完成马达原点偏移角自学习。详情请参考 12-58 参数 Pr. 05-00 详细解 释。 ※ 若 PM 马达为台达 ECMA 系列,则可根据伺服马达型录对马达参数进行直接输入,无需进行参 数自学习。 其控制方式即设定分别说明如下: 速度控制: 速度模式下相关缓存器列表: 控制特 M 特M 功能说明 属性 M1025 驱动器频率=设定频率(ON)/ 驱动器频率=0(OFF) RW RW M1026 驱动器运转方向 FWD(OFF)/REV(ON) RW RW M1040 硬件供电(Servo On) RW RW M1042 快速停车(Quick Stop) M1044 暂时停车(Halt) M1052 锁住频率(lock,频率锁在当前所运转的频率) 状态特 M 特M 功能说明 属性 M1015 频率到达(搭配 M1025 有使用时) M1056 硬件已供电(Servo On Ready) RO M1058 快速停车中(On Quick Stopping) RO RO 控制特 D 功能说明 属性 特D RW D1060 模式设定(速度模式为 0) 状态特 D 特D 功能说明 属性 D1037 变频器的输出频率(0.00~600.00) D1050 实际运转模式(速度模式为 0) RO RO 16-129
速度模式控制指令: S2 S3 FREQ(P) S1 目标速度 第一段加速时间 第一段减速时间 速度模式控制范例: 在做速度控制之前,如果是使 FOC (磁场导向)的控制方式,则需先把要用到的电机参数设定完成。 1. 设定 D1060 = 0 让变频器变为速度模式(默认)。 2. 透过 FREQ 指令来控制频率、加速时间和减速时间。 3. 设定 M1040 = 1,此时驱动器会激磁,但频率为 0。 4. 设定 M1025 = 1,此时驱动器频率命令会跑到 FREQ 所指定的频率,而加减速也会根据 FREQ 所指定的加速时间和减速时间来运行。 5. 可以控制 M1052 来锁住在当前运行的频率。 6. 可以控制 M1044 来做暂时停车,其减速方式根据减速设定。 7. 可以控制 M1042 来做快速停车,其减速方式会以不发生错误为前提,尽快减速。(如果负载太 大,有可能还是会跳错误。) 8. 控制的权限为: M1040(Servo ON) > M1042(Quick Stop) >M1044(Halt) >M1052(LOCK) 0 M1002 MOV K0 D1060 啟始正向 (RUN瞬間) 控 制 模 式 設 定( 0:速 度) 6 X0 FREQ K3500 K100 K200 14 X0 FREQ K4500 K40 K50 23 X1 (M1026) 25 X2 變 頻 器 運 轉 方 向FWD( OFF) 27 X3 (M1040) 29 X4 硬體供電 31 X5 (M1025) 33 變頻器RUN(ON)STOP( OFF) (M1044) 暫停 (M1052) 鎖定頻率 (M1042) 快速停車 END 9999 16-130
PLC 功能应用 转矩控制: 功能说明 属性 转矩模式下相关缓存器列表: 功能说明 RW 控制特 M 功能说明 特M 功能说明 属性 M1040 硬件供电(Servo On) RO 状态特 M RO 特M M1056 硬件已供电(Servo On Ready) 属性 M1063 扭力到达 RW 控制特 D 特D 属性 D1060 运转模式设定(转矩模式为 2) RO 状态特 D RO 特D D1050 实际运转模式(速度模式为 0) D1053 实际扭力 转矩模式控制指令: S2 TORQ(P) S1 频率限制 目标扭力(有号数) 转矩模式控制范例: 在做转矩控制之前,需先把要用到的转矩控制相关的电机参数设定完成。 1. 设定 D1060 = 2 让变频器变为转矩模式。 2. 透过 TORQ 指令来完成扭力控制以及速度限制。 3. 设定 M1040 = 1,此时驱动器会激磁,马上跑到目标扭力或速度限制。若想知道当前扭力可从 D1053 得知。 0 M1002 MOV K2 D1060 Set control mode (0:V) ON only for 1scan a 6 M1000 TMR T0 K30 Power on delay Normally open contact T0 Ready TORQ K100 K1000 Power on delay 13 X1 TORQ K-200 K1000 Set Torque Power on 19 X1 END Set Torque 25 M0 X4 Ready 28 9999 16-131
归原点控制/位置控制: 归原点模式/位置模式下相关缓存器列表: 控制特 M 特M 功能说明 属性 M1040 硬件供电(Servo On) RW RW M1048 移动到新位置(new position),需搭配控制模式为位置模式(D1060 = 1)且 M1040 = 1 RW RW M1050 绝对位置/相对位置(0:相对 / 1:绝对) M1055 搜寻原点(Home start),需搭配控制模式为位置模式(D1060 = 3) 且 M1040 = 1 状态特 M 功能说明 属性 特M RO M1064 目标位置到达(Target reached) RO M1070 归原点完成 RO M1071 归原点错误 控制特 D 属性 特 D 功能说明 RW D1060 运转模式设定(位置模式为 1,归原点模式为 3) 状态特 D 特 D 功能说明 属性 D1050 实际运转模式(速度模式为 0) D1051 实际位置(Low word) RO D1052 实际位置(High word) RO ※ D1051 和 D1052 组合起来才是为实际位置,而且是有号数。 RO 位置模式控制指令: DPOS(P) S1 目标位置(有号数) 归原点模式/位置模式控制范例: 在做归原点控制或位置控制之前,需先把要用到的位置相关的电机参数设定完成。 1. 设定 00-40 选择归原点方式,以及对应的极限 Sensor 和原点(设定 MI 功能为反转极限 44、正 转极限 45、原点近接 46。而因为当前 C2000 只支持 Z 相原点,所以 Encoder 卡必须提供 Z 相)。 2. 设定 D1060 = 3 让变频器变为归原点模式。 16-132
PLC 功能应用 3. 设定 M1040 = 1 在 VF/ SVC/ VFPG 模式下,会进入 STANDBY 模式 (透过 01-34 可进行 STANDBY 模式的动 作选择) 在 FOC+PG 模式下,则是会零速运转(zero speed holding) 4. 设定 M1055 = 1,此时驱动器会开始搜寻原点。 5. 当归原点完成时,M1070 会变 ON,此时再设定 D1060 = 1,把控制模式切为位置模式(注意 M1040 不要变为 OFF,这样机械原点才不会跑掉)。 6. 此时再透过 DPOS 的指令来指定驱动器的目标位置。可透过 M1050 或参数 00-12 来设定绝对 或相对位置移动。 7. 让 M1048 Pulse ON 一次(需超过 1ms 的时间),变频器就会开始移动到目标位置(需 M1040 = 1 的情况下才有效)。而当前位置可从 D1051 和 D1052 得知。 第一部份:一开始定义初始模式为”归原点”模式(设定 D1060 = 3)。并且透过 X2 来让变频器激磁。 Initial condition 0 M1002 MOV K3 D1060 ON only for 1scan a Set control mode (0:V) SET M100 Home mode 10 X2 RST M101 Servo on req P2P mode Power on 第二部份为归原点动作:透过 X3 来触发归原点动作,完成后自动切换为位置模式 Home mode Home 12 M100 X3 RST M100 RST M100 Home Home mode req M1070 Home finish 16-133
第三部份为点对点移动:切换为位置模式(设定 D1060 = 1),并以来回的位置点跑来跑去(+300000 ~ -300000 ) P2P mode MOV K1 D1060 Set control mode (0:V) 20 M101 MOV K1 K4M200 P2P mode +300000 33 M200 DPOS K300000 TMR T100 K10 +300000 TMR T101 K10 43 M201 M1064 DPOS K300000 Ack Target Position atta TMR T102 K10 49 TMR T103 K10 ROLP K4M200 K1 M202 -400000 +300000 59 M1064 (M1048) Ack Target Position atta END 65 M200 T100 +300000 M200 T100 +300000 M200 T100 +300000 M200 T100 +300000 81 M202 Ack M203 84 Ack ※ 如果应用上不需归原点,则第一部分和第 2 部分跳过,但需加入第 1 部分的 M1040 的条件,在 第 1 部分的写法是用 X2 来直接对应。此外,在第三部分一开始是用 M101 去设定控制模式,则 此时可以改写为 M1002,也就是当 PLC 一执行时,马上设定为位置模式。 16-134
PLC 功能应用 16-10 内部通讯主站控制 为了在某些应用场合可以用 485 来取代 CANopen,并可以实时性跟 CANopen 相当,因此发展出 此协议。此协议只能专用在 C2000 以及 CT2000 的机种上而已。而最多的从机数为 8。 内部通讯是主从结构,启动方式很简单: 从机: 设定参数 09-31 = -1 ~ -8 来对应 8 个节点,并设定参数 00-20 = 1 定义控制来源为 485,以及对 应需要控制到的参考来源,分为速度命令(00-21 = 2)、扭力命令(11-33 = 1) 或位置命令(11-40=2), 设定好就完成从机的设定了。(不需开启 PLC 功能。) 主机: 主机的部份更简单,只需设定参数 09-31 = -10,并且把 PLC Enable 就可以了。 硬件接线:主站和从站透过 485 的串口把线接上。C2000 提供 2 种 485 的串口接口,如下图:(详 细配线端子可参考 06 控制端子) 脫拔式配線板 8 18 1 SG+ SG- Modbus RS-485 Pin 1~2, 7~8: 保留 Pin 3, 6:SGND Pin 4:SG- Pin 5:SG+ 16-135




