16 PLC 功能应用 API LN 二进浮点数取自然对数 125 D P 位装置 字符装置 16 位-指令 - - - 脉波执行型 * *X Y M K H KnX KnY KnM T C **D DLNP S 32 位指令(9 连ST续E执P)行型 各操D作装置数使使用用注范意围请:参考各系列机种功能规格表 DLN 旗标信号:无 指令說明 S:运算来源装置。 D:运算结果装置。 以 e =2.71828 为底数, S 为指数做 EXP 运算。 , ,[ D +1 D ]=EXP [ S +1 S ] S 内容正负数都有效,指定 D 缓存器时必须使用 32 位数据格式,运算时均 以浮点数方式执行,故 S 需转换为浮点数。 D 操作数内容值=e S ; ,e=2.71828 S 为指定的源数据 程式範例 当 M0 为 On 时,将(D1,D0)值转成二进浮点数存于(D11,D10)缓存器中。 当 M1 为 On 时,(D11,D10)为指数做 EXP 运算,其值为二进浮点数并存放 于(D21,D20)缓存器中。 M0 DFLT D0 D10 M1 DLN D10 D20 16-78
16 PLC 功能应用 API ESQR 二进浮点数开平方根 127 D P 位装置 字符装置 16 位-指令 - - - 脉波执行型 YMK H KnX KnY KnM T C **D DESQR * *X 32 位指令(9 连ST续E执P)行型 S DESQR 操各D装作数置使使用用注范意围请:参考各系列机种功能规格表 P 旗标信号:无 指令說明 S:欲开平方根来源装置。 D:开平方根之结果。 程式範例 S 所指定的缓存器内容被开平方,所得的结果暂存于 D 所指定的缓存器内 容,开平方的动作全部以二进浮点数型态进行。 S 来源操作数若是指定常数 K 或 H 的话,指令会将该常数变换成二进浮点 数来作运算。 当 X0=On 时,将二进浮点数(D1,D0)取开平方根,将结果存放至(D11,D10)所 指定的缓存器当中。 X0 DESQR D0 D10 ,(D1 D0) ,(D11 D10) 二進浮點數 二進浮點數 当 X2=On 时,将 K1,234(自动变换为二进浮点数) 取开平方根,结果存放在(D11, 中。D10) X2 DESQR K1234 D10 16-79
16 PLC 功能应用 API INT 二进浮点数→BIN 整数变换 129 D P 位装置 字符装置 C **D 16 位-指令 - - - 脉波执行型 X Y M K H KnX KnY KnM T 32 位指令 (9连S续TE执P行) 型 DINTP S DINT 各操D装作置数使使用用范注意围请:参考各系列机种功能规格表 旗标信号:无 指令說明 S:欲变换之来源装置。 D:变换之结果。 S 所指定的缓存器内容以二进浮点数型态被变换成 BIN 整数暂存于 D 所指 定的缓存器当中,BIN 整数浮点数被舍弃。。 本指令的动作与 API 49(FLT)指令刚好相反。 程式範例 当 X0=On 时,将二进浮点数(D1,D0) 变换成 BIN 整数将结果存放至(D10)当中, BIN 整数浮点数被舍弃。 X0 DINT D0 D10 16-80
16 PLC 功能应用 API SIN 二进浮点数 SIN 运算 130 D P 位装置 字符装置 16 位-指令 - - - 脉波执行型 * *X Y M K H KnX KnY KnM T C **D DSINP S 32 位指令(9 连ST续E执P)行型 操各D作装置数使使用用注范意围请:参考各系列机种功能规格表 DSIN 旗标信号:无 指令說明 S:指定的来源值。 D:取 SIN 值结果。 S 所指定的来源固定为径度。 径度(RAD)值等于(角度 )。×π/180 将 S 所指定的来源值,求取 SIN 值后存于 D 所指定的缓存器当中。 下图显示弧角与结果的关系: R S:弧角(弧度)資料 R:結果(SIN 值) 1 -2 - 3 -2 -2 0 3 2 S 2 2 -1 2 程式範例 当 X0=On 时,指定二进浮点数(D1,D0)之径度(RAD)值求取 SIN 值后存于 ,(D11 D10) 当中,内容为二进浮点数。 X0 DSIN D0 D10 D 1 D 0 R2A進D浮值點(數角度 X /π 180) D 11 D 10 進SIN 浮值 點 數 2 16-81
16 PLC 功能应用 API COS 二进浮点数 COS 运算 131 D P 位装置 字符装置 16 位-指令 - - - 32DC位O指S令(9连ST续E执P)行型 脉波执行型 YMK C DCOSP * *X H KnX KnY KnM T **D S 各操D作装数置使使用用范注围意请:参考各系列机种功能规格表 旗标信号:无 指令說明 S:指定的来源值。 D:取 COS 值结果。 S 所指定的来源可指定为径度或角度,由旗标 M1018 决定。 当 M1018=Off 时,指定为径度模式,径度(RAD)值等于(角度 )。×π/180 当 M1018=On 时,指定为角度模式,角度范围:0°≦角度值<360°。 当计算结果若为 0 时, 。M1020=On 将 S 所指定的来源值,求取 COS 值后存于 D 所指定的缓存器当中。 下图显示弧角与结果的关系: R S:弧角(弧度)資料 R:結果(COS 值) 1 -2 - 3 -2 -2 0 3 2 S 2 2 -1 2 程式範例 当 X0=On 时,指定二进浮点数(D1,D0)之径度值求取 COS 值后存于 ,(D11 D10) 当中,内容为二进浮点数。 X0 DCOS D0 D10 D 1 D 0 R2A進D浮值點(數角度 X /π 180) D 1 D 10 C2O進S浮值點數 16-82
16 PLC 功能应用 API TAN 二进浮点数 TAN 运算 132 D P 位装置 字符装置 16 位-指令 - - - 32D位TA指N令(9连ST续E执P)行型 脉波执行型 * *X Y M K H KnX KnY KnM T C **D DTANP S 操各D作装数置使使用用注范围意:请参考各系列机种功能规格表 旗标信号:无 指令說明 S:指定的来源值。 D:取 TAN 值结果。 S 所指定的来源可指定为径度或角度,由旗标 M1018 决定。 当 M1018=Off 时,指定为径度模式,径度(RAD)值等于(角度 )。×π/180 当 M1018=On 时,指定为角度模式,角度范围:0°≦角度值<360°。 当计算结果若为 0 时, 。M1020=On 将 S 所指定的来源值,求取 TAN 值后存于 D 所指定的缓存器当中。 下图显示弧角与结果的关系: R RS::弧結角果((弧TA度N)資值)料 1 -2 - 3 -2 -2 0 3 2 S 2 2 2 -1 程式範例 当 X0=On 时,指定二进浮点数(D1,D0)之径度(RAD)值求取 TAN 值后存于 ,(D11 D10) 当中,内容为二进浮点数。 X0 DTAN D0 D10 D 1 D 0 R2A進D浮值點(數角度 X /π 180) D 11 D 10 T2A進N浮值點數 16-83
16 PLC 功能应用 API ASIN 二进浮点数 ASIN 运算 133 D P 位装置 字符装置 16 位-指令 - - - 3D2 A位S指IN令(9连ST续E执P)行型 脉波执行型 YMK C DASINP * *X H KnX KnY KnM T **D S 各操D作装置数使使用用范注围意请:参考各系列机种功能规格表 旗标信号:无 指令說明 S:指定的来源(二进浮点数)。 D:取 ASIN 值结果。 值ASIN =sin-1 下图显示输入数据与结果的关系: R SR::輸AS入IN資值料結(正果弦(弧值度)) 2 -1,0 0 1,0 S -2 程式範例 当 X0=On 时,指定二进浮点数(D1,D0)求取 ASIN 值后存于(D11,D10) 当中,内 容为二进浮点数。 X0 DASIN D0 D10 D 1 D 0 2 進浮點數 進浮值點數D 11 ASIN D 10 2 16-84
16 PLC 功能应用 API ACOS 二进浮点数 ACOS 运算 134 D P 位装置 字符装置 16 位-指令 - - - 脉波执行型 YMK H KnX KnY KnM T C **D DACOS * *X 32 位指令(9 连ST续E执P)行型 S DACOS 操各D装作置数使使用用范注围意请:参考各系列机种功能规格表 P 旗标信号:无 指令說明 S:指定的来源(二进浮点数)。 D:取 ACOS 值结果。 值ACOS =cos-1 下图显示输入数据与结果的关系: R SR::輸AC入O資S 料值(結餘果弦(弧值)度) 2 1,0 S -1,0 0 程式範例 当 X0=On 时,指定二进浮点数(D1,D0)求取 ACOS 值后存于(D11,D10) 当中, 内容为二进浮点数。 X0 DACOS D0 D10 D 1 D 0 2 進浮點數 進浮點值數D 11 ACOS D 10 2 16-85
16 PLC 功能应用 API ATAN 二进浮点数 ATAN 运算 135 D P 位装置 字符装置 16 位-指令 - - - 脉波执行型 * *X Y M K H KnX KnY KnM T C **D DATANP S 32 位指令(9 连ST续E执P)行型 操各D装作数置使使用用注范意围请:参考各系列机种功能规格表 DATAN 旗标信号:无 指令說明 S:指定的来源(二进浮点数)。 D:取 ATAN 值结果。 值ATAN =tan-1 下图显示输入数据与结果的关系: R SR::輸AT入AN資值料結(正果切(弧值度) ) 2 S 0 -2 程式範例 当 X0=On 时,指定二进浮点数(D1,D0)求取 TAN 值后存于(D11,D10) 当中,内 容为二进浮点数。 X0 DATAN D0 D10 D 1 D 0 2 進浮點數 進浮值點數D 11 ATAN D 10 2 16-86
16 PLC 功能应用 API SINH 二进浮点数 SINH 运算 136 D P 位装置 字符装置 16 位-指令 - - - 脉波执行型 YMK H KnX KnY KnM T C **D DSINHP * *X 32 位指令(9 连ST续E执P)行型 S DSINH 操各D装作置数使使用用范注意围请:参考各系列机种功能规格表 旗标信号:无 指令說明 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 SINH D 10 2 16-87
16 PLC 功能应用 API COSH 二进浮点数 COSH 运算 137 D P 位装置 字符装置 16 位-指令 - - - 脉波执行型 * *X Y M K H KnX KnY KnM T C **D DCOSHP S 32 位指令(9 连ST续E执P)行型 操各D作装置数使使用用范注意围请:参考各系列机种功能规格表 DCOSH 旗标信号:无 指令說明 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-88
16 PLC 功能应用 API TANH 二进浮点数 TANH 运算 138 D P 位装置 字符装置 16 位-指令 - - - 脉波执行型 * *X Y M K H KnX KnY KnM T C **D DTANHP S 32 位指令(9 连ST续E执P)行型 操各D装作置数使使用用注范意围请:参考各系列机种功能规格表 DTANH 旗标信号:无 指令說明 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-89
16 PLC 功能应用 API 万年历数据比较 TCMP 160 P 位装置 字符装置 16 位指令 (1连1续ST执E行P)型 脉波执行型 TCMP - X Y M **K **H K**nX K**nY K**nM **T **C **D TCMPP S1 * **** ** ** ** S2 32 位-指令 - - S3 各操DS作装数置使使用用*注范围意请:*参考各系列机种功能规格表 旗标信号:无 指令說明 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 ( On > D21 ( D22 ( 時 分 秒 的時候,為秒分時)))M11 12 20 45 D20 ( On = D21 ( D22 ( 時 分 秒 的時候,為分秒時)))M12 12 20 45 D20 ( On < D21 ( D22 ( 16-90
16 PLC 功能应用 API 万年历数据比较 TZCP 161 P 位装置 字符装置 16 位指令 (9连S续TE执P行) 型 TZCPP 脉波执行型 TZCP - X Y M K H KnX KnY KnM **T **C **D - S1 * * * 32 位-指令 - S2 旗标信号:无 操各DS装作置数使使用用*注范意围请:*参考各系列机种功能规格表 指令說明 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 ( ) 分> D11 ( ) 的時候,為 On 秒D2 ( ) 的時候,為 On M11 時D0 ( ) 秒D12 ( ) 分D1 ( ) 分時<= M12 秒D2 ( ) D10 ( ) D20 ( ) D11 ( ) D21 ( ) 秒D12 ( ) 秒D22 ( ) 時D10 ( ) 時D20 ( ) 分D11 ( ) 分> D21 ( ) 秒D12 ( ) 秒D22 ( ) 16-91
16 PLC 功能应用 API 万年历资料加算 TADD 162 P 位装置 字符装置X Y M K H KnX KnY KnM **T **C **D 16 位指令 (7连S续TE执P行) 型 TADDP 脉波执行型 * * * TADD - S1 - S2 32 位-指令 - 各操D装作数置使使用用注范意围请:参考各系列机种功能规格表 旗标信号: 零旗号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( 時)D20 14( 分) 分)D1 10( 分)D21 50( 秒) 秒)D2 20( 秒)D22 26( 6( 14 時 50 分 26 秒 + D11 40( D12 6( 8 時 10 分 20 秒 6 時 40 分 6 秒 16-92
16 PLC 功能应用 API 万年历资料减算 TSUB 163 P 位装置 字符装置X Y M K H KnX KnY KnM **T **C **D 16 位指令 (7连S续TE执P行) 型 TSUBP 脉波执行型 * * * TSUB - S1 - S2 32 位-指令 - 操各D作装置数使使用用注范围意请:参考各系列机种功能规格表 旗标信号: 零旗号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-93
16 PLC 功能应用 API 万年历资料读出 TRD 166 P 位装置 字符装置 16 位指令 (3连S续TE执P行) 型 TRDP 脉波执行型 TRD - X Y M K H KnX KnY KnM *T *C *D - 32 位-指令 - 各操D装作数置使使用用注范意围请:参考各系列机种功能规格表 旗标信号:无 指令說明 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 星期 D1064 1~7 月D2 D1065 月 1~12 日D3 D1066 日 1~31 时D4 D1067 时 0~23 分D5 D1068 分 0~59 秒D6 D1069 秒 0~59 16-94
16 PLC 功能应用 API GRY →BIN GRAY 码变换 170 D P 位装置 字符装置各操DS装作置数X使使用用Y注范意围请:M参考*K各系列*H机种K*功nX能规K**n格Y表K**nM **T **C **D 16 位指令(5 连ST续E执P)行型 GRYP 脉波执行型 GRY DGRYP 脉波执行型 32 位指令(9 连ST续E执P)行型 DGRY 旗标信号:无 指令說明 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-95
16 PLC 功能应用 API GBIN GRAY 码→BIN 变换 171 D P 位装置 字符装置各操DS装作置数X使使用用Y注范围意请:M参考*K各系列*H机种K*功nX能规K**n格Y表K**nM **T **C **D 16 位指令 (5连S续TE执P行) 型 GBINP 脉波执行型 GBIN DGBINP 脉波执行型 32 位指令(9 连ST续E执P)行型 DGBIN 旗标信号:无 指令說明 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-96
16 PLC 功能应用 API 215~ LD# S1 S2 接点型态逻辑运算 LD# D 217 位装置 字符装置 16 位指令 (5连S续TE执P行) 型 - - LD# - - 各操SS12装作置数X使使用用Y范注意围请:M参#考:**K各\&、系|、列**H^机种K**功nX能规K**n格Y表K**nM **T **C **D 32 位指令 (9连S续TE执P行) 型 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 216 LD| DLD| S1 | S2 ≠ 0 S1 | S2 = 0 217 LD^ DLD^ S1 ^ S2 ≠ 0 S1 ^ S2 = 0 \&:逻辑的’及’(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-97
16 PLC 功能应用 API 接点型态逻辑运算 #AND 218~ AND# S1 S2 D 220 位装置 字符装置 16 位指令 (5连S续TE执P行) 型 - - AND# - - 操各SS21作装数置X使使用用Y范注围意请:M参#考:**K各\&、系|、列**H^机种K**功nX能规K**n格Y表K**nM **T **C **D 32 位指令 (9连S续TE执P行) 型 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 219 AND| DAND| S1 | S2 ≠ 0 S1 | S2 = 0 220 AND^ DAND^ S1 ^ S2 ≠ 0 S1 ^ S2 = 0 \&:逻辑的’及’(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-98
16 PLC 功能应用 API 接点型态逻辑运算 #OR 221~ OR# S1 S2 D 223 位装置 字符装置 16 位指令 (5连S续TE执P行) 型 - - OR# - - 操各SS21装作置数X使使用用Y注范围意请:M参#考:**K各\&、系|、列**H^机种K**功nX能规K**n格Y表K**nM **T **C **D 32 位指令 (9连S续TE执P行) 型 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 222 OR| DOR| S1 | S2 ≠ 0 S1 | S2 = 0 223 OR^ DOR^ S1 ^ S2 ≠ 0 S1 ^ S2 = 0 \&:逻辑的’及’(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-99
16 PLC 功能应用 API 接点型态比较 ※LD 224~ D LD※ S1 S2 230 位装置 字符装置 16L位D※指令 (5连S续TE执P行) 型 - - 32DL位D指※令 (9连S续TE执P行) 型 - - 操各SS21作装置数X使使用用Y范注围意请:M参※考:**K各=、系>列、**H机<、种K<**功n>X、能≦规K**n、格Y≧表K**nM **T **C **D 旗标信号:无 指令說明 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 Y10 LD> D200 K-30 X1 SET Y11 DLD> K678493 C20 M50 M3 16-100
16 PLC 功能应用 API 接点型态比较 ※AND 232~ D AND※ S1 S2 238 位装置 字符装置 1A6N位D指※令 (5连S续TE执P行) 型 - - 3D2A位ND指※令 (9连S续TE执P行) 型 - - 各操SS12装作数置X使使用用Y范注围意请:M参※考:**K各=、系>列、**H机<、种K<**功n>X、能≦规K**n、格Y≧表K**nM **T **C **D 旗标信号:无 指令說明 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-101
16 PLC 功能应用 API 接点型态比较 ※OR 240~ D OR※ S1 S2 246 位装置 字符装置 16O位R※指令 (5连S续TE执P行) 型 - - 3D2O位R指※令 (9连S续TE执P行) 型 - - 操各SS21作装置数X使使用用Y注范意围请:M参※考:**K各=、系>列、**H机<、种K<**功n>X、能≦规K**n、格Y≧表K**nM **T **C **D 旗标信号:无 指令說明 S1:数据源装置 1。 S2:数据源装置 2。 S1 与 S2 之内容作比较的指令,以 API 240(OR=)为例,比较结果为等于时, 该指令导通,不等于时,该指令不导通。 OR※的指令是与接点并接的比较指令。 指令 指令 导通条件API No.16-bit 32-bit S1 S2 非导通条件 = = =240OR DOR S1 S2 ≠S1 S2 > > >241OR DOR S1 S2 ≦S1 S2 < < <242OR DOR S1 S2 ≧S1 S2 <> <> ≠244OR DOR S1 S2 =S1 S2 <= <= ≦245OR DOR S1 S2 >S1 S2 >= >= ≧246OR DOR <S1 S2 Y10=On 程式範例 当 时且 的现在值又等于 时, 。X0=OnC10 K200 当 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-102
16 PLC 功能应用 API 浮点数接点型态比较 ※LD 275~ FLD※ S1 S2 280 位装置 字符装置 16 位指令 - -- - X Y M K H KnX KnY KnM **T **C **D - S1 32FL位D指※令 (9连S续TE执P行) 型 - 操各S2作装置数使使用用范注围意请:参#考:各\&、系|、列^机种功能规格表 旗标信号:无 指令說明 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-103
16 PLC 功能应用 API 浮点数接点型态比较 ※AND 281~ FAND※ S1 S2 286 位装置 字符装置 16 位指令 -- - - X Y M K H KnX KnY KnM **T **C **D S1 3F2A位ND指※令 (9连S续TE执P行) 型 - - 操各S2作装数置使使用用注范围意请:参#考:各\&、系|、列^机种功能规格表 旗标信号:无 指令說明 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-104
16 PLC 功能应用 API 浮点数接点型态比较 ※OR 287~ FOR S1 S2 ※ 292 位装置 字符装置 16 位指令 - - -- X Y M K H KnX KnY KnM **T **C **D - - S1 3F2O位R指※令 (9连S续TE执P行) 型 操各S2装作置数使使用用注范围意请:参#考:各\&、系|、列^机种功能规格表 旗标信号:无 指令說明 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-105
16 PLC 功能应用 16-6-5 驱动器特殊应用指令详细说明 API S1 S2 驱动器参数读取 RPR 139 P 位装置 字符装置 16 位指令 (5连S续TE执P行) 型 脉波执行型 RPR - * *X Y M K H KnX KnY KnM T C *D RPRP * S1 32 位-指令 - - 操S2作数使用注意:无 旗标信号:无 指令說明 S1 :欲读取数据的参数地址。 S2 :欲读取数据存放之缓存器。 API S1 S2 驱动器参数写入 WPR 140 P 位装置 字符装置X Y M**K C 16 位指令 (5连S续TE执P行) 型 脉波执行型 - S1 WPR 操S2作数使用注意:无 **H KnX KnY KnM T **D 32 位-指令 - WPRP 旗标信号:无 - 指令說明 S1 :欲写入的资料。 S2 :欲写入数据的参数地址。 程式範例 C读中当将当H参取。MC2H0。数00=2写0O00n入W0时成P驱,R功动将指器MD令11的00不参1内7支数=容持OH值n20。写01X.到0X0C数地H据址20读的00出写驱写入动到,器但D的0R,参PHR数0指10.40令.10支0资(持多料段2读1速出XX第写、一到2段2DX速1X。度的) M1000 RPR H100 D0 RPR H101 D1 運轉監視常開接點(a) M0 WPR D10 H400 END 建议 这使些用参W数PR只指容令许时10请9注次意的,更在改写次入数参,数写时入,次由数于超大过多时参,数则都会是发当生次内写存入写时坏就的记情录形了。,而 PPPPP下00000述00000-----21111的17230:::::常P速使转控用2度用矩制P参模位模者模数置式式式定,模选义选有择式内择特容值别处理过,因此”无”写入次数上的限制。 P01-12: 加加减减速速速速时时时时间间间间 1 P01-13: 1 P01-14: 2 P01-15: 2 16-106
16 PLC 功能应用 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: P位转位2置矩置P 最控命控高制制令频减加率速速时时间间 P11-43: P11-44: P11-45: 令写次如。入果。次PL数C的程计序算在是编以写写上入,值如是果否不变是更很为确依定据W。P例R如指同令时的写使用10的0情次形同,样建的议值使,用只W会P视R为P 一指 16-107
16 PLC 功能应用 API 驱动器 控制S1 S2 S3 S4 FPID PID 141 P 位装置 字符装置X Y M C 16 位指令 (9连S续TE执P行) 型 FPIDP 脉波执行型 FPID - S1 - S2 S3 操S4作数使用注意:无 **K **H KnX KnY KnM T **D 32 位-指令 - ** ** ** 旗标信号:无 指令說明 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-108
16 PLC 功能应用 API S1 S2 S3 驱动器速度控制 FREQ 142 P 位装置 字符装置 16 位指令 (7连S续TE执P行) 型 FREQP 脉波执行型 FREQ - X YM **K **H KnX KnY KnM T C **D - S1 * * * S2 32 位-指令 - 操S3作数使用注意:无 旗标信号:M1015 指令說明 例如当S3下0(:1减此S下方MMMMM-2S4速11111指:阶5100000,S=时42244令梯:3465020间图::::::F频:)中R加触控控控暂单率设E减制发制制停S位Q命定2速驱快驱(SO令可(06e时动速动加n.。0r控0)v间器器停/速1,释o制秒设S运车时即OR放驱2n定转U(间为暂O(动N:O中方)N停设(器0nO加)向,.)/(定6不/频nO其速S)sFf/触率5feeS小时W)0crT发命v,数间DOo快令即(P字。OO(速为、ffO数ff)(S停加f/O是fR0)3f(车速E.fR根5)V:(U和s据O(eNO减。减fcfnP)速,需速)r。0时时1S-间e4间r5v。,o的另O定n使(义M用1而特0定4殊0的缓O.n存)才器有控效制)动作。如 M1052:锁住频率(On)/ 释放锁住频率(Off) 程式範例 当MM11M00121550::=O频驱n率动时到器,达设R。U定N驱(O动n器)/S频T率OP命(O令ff)K,3M001(032.060:H驱z),动加器速运/转减方速向时间FW为D0(。Off) 。/REV(On) 当 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-109
16 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-110
16 PLC 功能应用 API S1 S2 驱动器扭力控制 TORQ 263 P 位装置 字符装置X Y M 16 位指令 (5连S续TE执P行) 型 TORQ P 脉波执行型 TORQ - S1 - 操S2作数使用注意:无 *K *H KnX KnY KnM T C *D * * * 32 位-指令 - 旗标信号:M1063 指令說明 当M此当当为当M令制S1实转指1,。MMM0104矩令际则1004:00==0扭到扭:=OOT:扭控OO力达nf力f控力nR制时时时。会制Q时命,,S,输,可令Se设设出Mre驱控(vr有定定1ovT动制0oO号驱驱O6器驱O3nR数动动(n开动QO会器,器(On始器指)小扭扭On/输扭令)nS数力力/,e出力所S命命r1e然v转命定or令令位v而矩令义Oo)KK通。f命和的Of+-(3常Of5令速扭f0(S0fO此0f度力。0)2(。f(-f旗+限输M3):。50标1制出0.速如00.会06%,,度果%3一而)另:,限)S扭,直频使转制e力转跳r率用v速。到速o动限特限O达限。制殊制N。制同缓为D时为样1存30,会3器0600如0受控00果0(为到制3(30有模动0TH执H式Oz作)zR行。控)。。Q制T如指O。下令RDQ1:所05限指3 程式範例 M1000 MOV K2 D1060 運常開轉監接視點(a) 控制模式設定(2:轉矩模式) M0 MOV D1053 D0 M0 實際扭力(-100.0%~+100%) M10 TORQ K-300 K3000 M1063 TORQ K500 K3000 扭力到達 (M硬1體0供4電0) ( Y0 ) END 举BBB参例iiittt数说120 :::明09PPPT-:3LLLO3CCCR定Q扫扫扫义描描描指为程程程令在序序序) 前前前PL,,,C把把把执转目目行矩标标前模转频的式矩率参下是是考的否否命速先先令度清清是限除除否制为为清是00除。。否((先PPLL清CC除有有为开开0,,。且且(P有有LC写写到有到开TFOR,RE且QQ有指指写令令到)) M1 TORQ K300 K400 END C这M制度Caa1时也限ssee设我会制12定们被也::当当为把设会00为被0M99--时设133033H,为强z的的则。制40有bb为Hiitt不z111。,,同,bbii情tt则22况转皆皆矩设设命为为令10为,,MMK+113设设00定定(+为为3000%时时) ,,,速则则度转转限矩矩制命命为令令4会仍0变保0(4回持0为H0z%+)3,,0且%而速,当度且把限速 16-111
16 PLC 功能应用 API S1 驱动器点对点控制 DPOS 262 P 位装置 字符装置 位指令16 - - - -X Y M K H KnX KnY KnM T C D ** * 32DP位O指S令(5连S续TE执P行) 型 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 D控1制06模0式設定(1:位置模式) 啟始正向 ( 瞬RUN 間) 實際位置DMOV D1051 D0 (Low word) 6 M1000 硬(M體10供40電) 運轉監視常開接點(a) DPOS K300000 16 X0 TMR T0 K10 FWD (移M動10到48新) 位置 18 X1 ( Y0 ) REV RY1 T0 M1064 30 目標位置到達 32 END 16-112
16 PLC 功能应用 API CANRX S1 S2 S3 D 读取 CANopen 从站数据 261 P 位装置 字符装置 16 位指令 (9连S续TE执P行) 型 CANRXP 脉波执行型 XYM K **H KnX KnY KnM T C D CANRX ** *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的瞬間) TMR T10 K5 M1066 ROLP K4M400 K1 6 CANRXP K1 H6041 D120 讀資料寫C完A成Nopen T10 CANRXP K2 H6041 D121 M400 17 CANTXP K1 D120 H6040 M401 CANTXP K2 D120 H6040 27 CANFLS D2025 M402 從站1的速度圖表(H) 37 CANFLS D2125 M403 47 從站1的速度圖表(H) M404 57 M405 61 65 END 16-113
16 PLC 功能应用 API 写入 从站资料S1 S2 S3 S4 CANTX CANopen 264 P 位装置 字符装置X Y M **K D 16 位指令 (9连S续T执EP行) 型 CANTXP 脉波执行型 ** S1 CANTX S2 S3 操S4作数使用注意:无 ** *H KnX KnY KnM T C * 32 位-指令 - - - ** * 旗标信号: 指令說明 S1 :从站站号。 S2 :欲写入的地址。 S3 :主索引。 S4 :副索引+bit 长度。 此指令 CANTX 可写值到所对应从站的索引,当执行时,会发送 SDO 的讯息格式 给从站,此时 M1066 和 M1067 同时为 0,而读取完成时会把 M1066 设为 1,如 果从站有正确响应,则会把值写到所设定的缓存器,并把 M1067 设为 1,而若从 站回应错误时,则会把 M1067 设为 0,并把错误的讯息纪录到 。D1076~D1079 16-114
16 PLC 功能应用 API D 更新 CANopen 对应的特 D CANFLS 265 P 位装置 字符装置 16 位指令 (连3 S续T执EP行)型 CANFLSP 脉波执行型 XYM *K *H KnX KnY KnM T C D CANFLS 操D作数使用注意:无 32 位-指令 - - - 旗标信号: 指令說明 D :欲更新的特 D。 此指令 CANFLS 可更新特 D 的命令,当属性为只读时,执行此指令时,会发送等 同于 CANRX 的讯息给从站,而把从站站号回传的数据自行更新到此特 D。如果属 性为可擦写时,执行此指令时,会发送等同于 CANTX 的讯息给从站,而把此特 D 的值写入到所对应的从站。 M1066 和 M1067 同时为 0,而读取完成时会把 M1066 设为 1,如果从站有正确 响应,则会把值写到所设定的缓存器,并把 M1067 设为 1,而若从站回应错误时, 则会把 M1067 设为 0,把错误的讯息纪录到 。D1076~D1079 API ICOMR D 内部通讯读取 320 D P 位装置 字符装置 位指令16 (9 STEP) ICOMRP 脉波执行型 连续执行型ICOMR 脉波执行型 XYM ****K ****H KnX KnY KnM T C ****D S1 S2 位指令32 (17 STEP) S3 连续执行型DICOMR DICOMRP 操D作数使用注意:无 旗标信号:M1077 M1078 M1079 指令說明 S1 :从机选择。 S2 :Device 选择 (0: 变频器 1: 内部 。PLC) S3 :读取地址 。 D :存放目标。 此指令 ICOMR 可以获取从站的变频器和所内置 PLC 的缓存器值。 16-115
16 PLC 功能应用 API ICOMW D 内部通讯写入 321 D P 位装置 字符装置 位指令16 (9 STEP) ICOMWP 脉波执行型 连续执行型ICOMW 脉波执行型 XYM **K **H KnX KnY KnM T C **D S1 ** ** ** S2 位指令32 (17 STEP) DICOMWP S3 连续执行型DICOMW 操D作数使用注意:无 旗标信号:M1077 M1078 M1079 指令說明 S1 :从机选择。 S2 :Device 选择 (0: 变频器 1: 内部 。PLC) S3 :读取地址 。 D :存放目标。 此指令 ICOMW 可以写值到从站的变频器和所内置 PLC 的缓存器值。 程式範例 参考下述范例: 節點在線/錯誤映射 ~ 內部通訊 ~ M1000 MOV D線內1部對11節應7點在K節2點M07在00線 MOV D內錯1部誤11節6點在K節2點M07發20生 0 運常開轉接監視點(a) MOV K內啟1部動節內( 點部M通通D1訊訊1013控控150制制) 讀寫資訊 MOV 讀K節1點0的KM4IM狀0態 17 M1002 啟始正向(RUN的瞬間) M4 Repeat M120 M50 M0 傳送請求 讀節點 的 狀態24 InnerCOM ICMR K0 K0 D0 Ready 0 MI M1 讀節點0的AVI ICMR K0 K0 D1 M2 讀節點0的輸出狀態 ICMW K0 K0 D5 M3 讀節點0的AFM1 ICMW K0 K0 D6 M1002 MOV 讀K節0點0的DM1I0狀0態 70 啟始正向(RUN的瞬間) ROLP 讀K節4M點00的MI狀K1態 M1077 M1078 M1079 INCP D100 76 完48成5讀寫 4錯8誤5讀寫 4超8時5通訊 內IN部C通訊讀寫D延30遲 MO內V 部通K訊0讀寫D延30遲 M1077 ( 傳M送5請0求 ) 87 完48成5讀寫 內部D通30訊讀K寫1延遲 END 102 9999 16-116
16 PLC 功能应用 16-7 错误显示及处理 Code ID Descript 建议处理方式 RR程传检下程程数TT查据载序序程序CC码程执序执超写时时错时序入行行过间间误时内内发时时校不指存指生存数正验容据令令错错确误错错误写量误误入或无内程存序错误 重请重检检检重检新新新视视视重视新程设上程上程Ke定序序电序电再yp上是及是及是Kae传否否重否重dy确p,新新有有有a实下下如错错错d 连持载载误误误时接并并并续程程间上发重重重序序后后新新新生,,下下下请断断送载载载电电厂程程程重重维序序序开开修 PLrA 47 检视程序是否有错误并重新下载程序 PLrt 49 检视程序是否有错误并重新下载程序 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-117
16 PLC 功能应用 16- 8 CANopen Master 控制应用 在有些应用场合,需要做简易的多轴控制应用控制时,如果 Device 有支持 CANopen 协议的话,可以 将其中一台 CH2000 当作 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-118
16 PLC 功能应用 当跳出 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-119
16 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 初始化完成的通道CANopen D1070 初 始 化 过 程 发 生 错 误 的 通 道CANopen R D1071 (bit0=Machine code0 …….) R D1072 (bit0=Machine - D1073 R 保留code0 …….) D1074 C02主1A::: 站N没从同o发站步有p生e设错周n错定期误断误错设线的定误信错错道误误(代b(太it码0小=M) achine code0 …….) R 16-120
16 PLC 功能应用 特 D 功能说明 R/W 保留 - D1075 的的错错误误讯讯息息((主副索索引引值值)) R D1076 SDO R D1077 SDO R D1078 SDO 的错误讯息(错误代码 L ) R D1079 SDO 的错误讯息(错误代码 H ) 默认值 R/W 第二区 CANopen 的基本设定:(此区设定 PLC 需在 Stop 之下) 我们需设定主站和从站信息交换的时间, 4 RW 特 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-121
16 PLC 功能应用 如果从机的开机比较慢,则主站可以先延迟一段时间后再开始对从站做设置,这时间延迟可以透过 D1092 来设定。 特D 功能说明 默认值 R/W D1092 开始初始化之前的延迟 0 RW 在对从机初始化时,可以设置判定出使化失败的延迟时间,如果通讯速度比较慢,则可以调整判定是否初始 化完成延迟的时间,避免还来不及对从机初始化。 特D 功能说明 默认值 R/W D1099 设初定始范化围完成:的1~延60迟00时0间秒 秒15 RW 当通讯起来后,需要侦测从站是否断线,则透过 D1093 设定侦测时间,D1094 设定连续几次错误发生时 触发断线错误。 特D 功能说明 默认值 R/W D1093 断线时间侦测 1000ms RW D1094 断线次数侦测 3 RW 另外进入正常通讯之前,可以设定 PDO 的传送封包类型,原则上这可以不用调整。 特D 功能说明 默认值 R/W D1097 设实定时对范应围的:传1~送24类0 型(PDO) 1 RW 16-122
16 PLC 功能应用 特 D 功能说明 默认值 R/W D1098 实设时定对范应围的:接1~收24类0 型(PDO) 第三区是从站的映像和控制区域。 1 RW 因为 CANopen 有提供 PDO 的方式来达到主站和从站的内存映像,也就是主站直接可以对某个内存读写数 据,主站的内部就会自动跟对应的从机做数据交换的动作,当进入实时对应后(M1034 = 1 时),就可以直接 对特 D 读写值即可。目前 CH2000 已有支持 4 组 PDO 的实时映像,另外各分为 RXPDO(读取从机信息)和 TXPDO(写值到从机)2 种 PDO 。此外,为了控制方便,CH2000 也已经把对应常用到的缓存器做过映像了, 以下是目前各 PDO 映射的情况: 扭力PDO4 ( ) 位置PDO3 ( ) TX PDO 速度PDO1 ( ) PDO2 (Remote I/O) 说明 特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 扭力PDO4 ( ) 位置PDO3 ( ) RXPDO 速度PDO1 ( ) PDO2 (Remote I/O) 说明 特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 定义如下: 预设定义 PDO4 PDO3 PDO2 PDO1 扭力 位置 Remote I/O 速度 bit 15 14 ~ 12 11 10 ~ 8 7 6~4 3 2~0 En 长度 En 长度 En 长度 定义 En 长度 En:表示是否启用 PDO 长度: 表示要映像几个变量 因此,我们简单来举个例子,如果想控制 CH2000 的从机,让它操作在速度模式,则只需设定以下情况: 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-123
16 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 定义 扭力 位置 Remote I/O 速度 bit 15 14 ~ 12 11 10 ~ 8 7 6~4 3 2~0 定义 0 0 0 0 0 0 12 设定完成之后,让 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 后,CH2000 的 CANopen 主站还提供额外信息的更新,例如在 速度模式下,加减速设定也有可能会更新到,因此在特 D 上还有存放一些比较少需要实时对应的信息,而这些 指令可以透过 CANFLS 指令来做更新。以下是目前 CH2000 的 CANopen 主站所开放的数据交换的区域,范 围从 ,如下所示:D2001+100*n ~ D2033+100*n 范围为1. n 0~7, 2. ●表示 PDOTX, ▲表示 PDORX, 未标示的特 D 可透过 CANFLS 指令更新 PDO 默认值 特D 功能说明 默认值 R/W 1234 D2000+100*n 0设从:站定无编范C号围A:Nno0的p~e站1n2号7功能 0 RW D2002+100*n 从站编号 n 的厂家代码(L) 0 R D2003+100*n 从站编号 n 的厂家代码(H) 0 R D2004+100*n 从站编号 n 的厂家的产品代码(L) 0 R D2005+100*n 从站编号 n 的厂家的产品代码(H) 0 R 基本定义 PDO 默认值 特D 功能说明 默认值 1234 R/W 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-124
16 PLC 功能应用 速度控制 默认值 PDO 默认值 特D 功能说明 1234 R/W D2001+100*n 从站编号 n 的转矩限制 0 RW RW D2012+100*n 从站编号 n 的目标速度(rpm) 0● R D2013+100*n 从站编号 n 的实际速度(rpm) 0▲ R D2014+100*n 从站编号 n 的误差速度(rpm) RW 0 RW D2015+100*n 从站编号 n 的加速时间(ms) 1000 R/W D2016+100*n 从站编号 n 的减速时间(ms) 1000 RW R 扭力控制 默认值 PDO 默认值 R 特D 功能说明 1234 R/W 从 站 编 号 的 目 标 扭 力D2017+100*n ● RW n 0 ▲ RW (-100.0%~+100.0%) 0 R 从站编号 的实际扭力D2018+100*n R n (XX.X%) RW RW 从站编号 的实际电流D2019+100*nn (XX.XA) 0 位置控制 默认值 PDO 默认值 特D 功能说明 1234 D2020+100*n 从站编号 n 的目标位置(L) 0 ● D2021+100*n 从站编号 n 的目标位置(H) 0 D2022+100*n 从站编号 n 的实际位置(L) 0 ▲ D2023+100*n 从站编号 n 的实际位置(H) 0 D2024+100*n 从站编号 n 的速度图表(L) 10000 D2025+100*n 从站编号 n 的速度图表(H) 0 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 0▲ R n AI1 从站编号 的 状态D2029+100*n 0▲ R n AI2 从站编号 的 状态D2030+100*n 0▲ R n AI3 从站编号 的 设定D2031+100*n 0● n AO1 RW 从站编号 的 设定D2032+100*n 0● RW n AO2 从站编号 的 设定D2033+100*n 0● RW n AO3 了解特 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. 把 忽略。6.第 区范围改为从 。 点选确定。D1090~D1099 7. D0~D399 2 ) 16-125
16 PLC 功能应用 另一种方式可以设定 D1091,把从站编号 0~7 看哪个不需用到,就把对应的 bit 设 0,例如不想控制从站 2、6 和 7 ,则只需设定 D1091 = 003B 及可,而设定方式如同上述方式一样,透过 WPL 执行通讯 > 缓 存器编辑(T C D) 的功能去做设定。 步骤三:设定主站的通讯站号及通讯速度 设主站的站号(参数 09-46,预设为 100) ,注意不要跟从站设一样。 设 CANopen 的通讯速度(参数 09-37),通讯速度无论驱动器定义为主站或从站,皆由此参数设定。 16-126
16 PLC 功能应用 步骤四:撰写程序代码 实时对应:可以直接读写到对应的 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 通讯接口的驱动器现有 CH2000 和 EC 系列机种,而对应从站站号和通讯速度的参数 如下: 从站地址 机种对应的参数 值 定义 硬件接口Disable CANopen CH2000 E-C 0 通讯地址CANopen 1~127 09-36 09-20 0 1M 1 500K 通讯速度 09-37 09-21 2 250K 3 125K 4 100K 5 50K 控制来源 00-21 - 3 - 02-01 5 频率来源 00-20 - 6 - 02-00 5 扭力来源 11-33 - 3 - - - 位置来源 11-40 - 3 - - - 台达支持 CANopen 通讯接口的伺服现阶段有 A2,而对应从站站号和通讯速度的参数如下: 从站地址 机种对应的参数 值 定义 CANopen 通讯地址 A2 1~127 R= 0 125K 03-00 R= 1 R= 2 250K 通讯速度 的03-01 bit8~11 XRXX R= 3 R= 4 500K 控制/命令来源 B 750K 1M 01-01 16-127




