16 PLC 功能应用C2000 API D COS P 二进浮点数 COS 运算 131 位装置 字符装置 16 位指令 X Y M K H KnX KnY KnM T CD - - - - S ** * D * 32 位指令(9 STEP) DCOSP 操作数使用注意: DCOS 连续执行型 脉波执行型 各装置使用范围请参考各系列机种功能规格表 旗标信号:无 S:指定的来源值。D:取 COS 值结果。 S 所指定的来源可指定为径度或角度,由旗标 M1018 决定。 当 M1018=Off 时,指定为径度模式,径度(RAD)值等于(角度×π/180)。 当 M1018=On 时,指定为角度模式,角度范围:0°≦角度值<360°。 当计算结果若为 0 时,M1020=On。 将 S 所指定的来源值,求取 COS 值后存于 D 所指定的缓存器当中。 下图显示弧角与结果的关系: 当 X0=On 时,指定二进浮点数(D1,D0)之径度值求取 COS 值后存于(D11, D10)当中,内容为二进浮点数。 X0 DCOS D0 D10 16-92
16 PLC 功能应用C2000 API TAN P 二进浮点数 TAN 运算 132 D 位装置 字符装置 16 位指令 X Y M K H KnX KnY KnM T CD - - - - S ** * D * 32 位指令(9 STEP) DTANP 操作数使用注意: DTAN 连续执行型 脉波执行型 各装置使用范围请参考各系列机种功能规格表 旗标信号:无 S:指定的来源值。D:取 TAN 值结果。 S 所指定的来源可指定为径度或角度,由旗标 M1018 决定。 当 M1018=Off 时,指定为径度模式,径度(RAD)值等于(角度×π/180)。 当 M1018=On 时,指定为角度模式,角度范围:0°≦角度值<360°。 当计算结果若为 0 时,M1020=On。 将 S 所指定的来源值,求取 TAN 值后存于 D 所指定的缓存器当中。 下图显示弧角与结果的关系: 当 X0=On 时,指定二进浮点数(D1,D0)之径度(RAD)值求取 TAN 值后存于(D11, D10)当中,内容为二进浮点数。 X0 DTAN D0 D10 16-93
16 PLC 功能应用C2000 API D ASIN P 二进浮点数 ASIN 运算 133 位装置 字符装置 16 位指令 X Y M K H KnX KnY KnM T CD - - - - S ** * D * 32 位指令(9 STEP) DASINP 操作数使用注意: DASIN 连续执行型 脉波执行型 各装置使用范围请参考各系列机种功能规格表 旗标信号:无 S:指定的来源(二进浮点数)。D:取 ASIN 值结果。 ASIN 值=sin-1 下图显示输入数据与结果的关系: 当 X0=On 时,指定二进浮点数(D1,D0)求取 ASIN 值后存于(D11,D10)当 中,内容为二进浮点数。 X0 DASIN D0 D10 16-94
16 PLC 功能应用C2000 API D ACOS P 二进浮点数 ACOS 运算 134 位装置 字符装置 16 位指令 X Y M K H KnX KnY KnM T CD - - - - S ** * D * 32 位指令(9 STEP) DACOS P 操作数使用注意: DACOS 连续执行型 脉波执行型 各装置使用范围请参考各系列机种功能规格表 旗标信号:无 S:指定的来源(二进浮点数)。D:取 ACOS 值结果。 ACOS 值=cos-1 下图显示输入数据与结果的关系: 当 X0=On 时,指定二进浮点数(D1,D0)求取 ACOS 值后存于(D11,D10)当 中,内容为二进浮点数。 X0 DACOS D0 D10 16-95
16 PLC 功能应用C2000 API D ATAN P 二进浮点数 ATAN 运算 135 位装置 字符装置 16 位指令 X Y M K H KnX KnY KnM T CD - - - - S ** * D * 32 位指令(9 STEP) 操作数使用注意: DATAN 连续执行型 DATANP 脉波执行型 各装置使用范围请参考各系列机种功能规格表 旗标信号:无 S:指定的来源(二进浮点数)。 D:取 ATAN 值结果。 ATAN 值=tan-1 下图显示输入数据与结果的关系: 当 X0=On 时,指定二进浮点数(D1,D0)求取 TAN 值后存于(D11,D10)当中, 内容为二进浮点数。 X0 DATAN D0 D10 16-96
16 PLC 功能应用C2000 API D SINH P 二进浮点数 SINH 运算 136 位装置 字符装置 16 位指令 X Y M K H KnX KnY KnM T CD - - - - S ** * D * 32 位指令(9 STEP) DSINHP 操作数使用注意: DSINH 连续执行型 脉波执行型 各装置使用范围请参考各系列机种功能规格表 旗标信号:无 S:指定的来源(二进浮点数)。 D:取 SINH 值结果。 sinh 值=(es-e-s)/2 当 X0=On 时,指定二进浮点数(D1,D0)求取 SINH 值后存于(D11,D10)当中, 内容为二进浮点数。 X0 DSINH D0 D10 16-97
16 PLC 功能应用C2000 API D COSH P 二进浮点数 COSH 运算 137 位装置 字符装置 16 位指令 X Y M K H KnX KnY KnM T CD - - - - S ** * D * 32 位指令(9 STEP) DCOSH P 操作数使用注意: DCOSH 连续执行型 脉波执行型 各装置使用范围请参考各系列机种功能规格表 旗标信号:无 S:指定的来源(二进浮点数)。 D:取 COSH 值结果。 cosh 值=(es+e-s)/2 当 X0=On 时,指定二进浮点数(D1,D0)求取 COSH 值后存于(D11,D10)当 中,内容为二进浮点数。 X0 DCOSH D0 D10 16-98
16 PLC 功能应用C2000 API D TANH P 二进浮点数 TANH 运算 138 位装置 字符装置 16 位指令 X Y M K H KnX KnY KnM T CD - - - - S ** * D * 32 位指令(9 STEP) DTANH P 操作数使用注意: DTANH 连续执行型 脉波执行型 各装置使用范围请参考各系列机种功能规格表 旗标信号:无 S:指定的来源(二进浮点数)。D:取 TANH 值结果。 tanh 值=(es-e-s)/(es+e-s) 当 X0=On 时,指定二进浮点数(D1,D0)求取 TANH 值后存于(D11,D10)当中, 内容为二进浮点数。 X0 DTANH D0 D10 16-99
16 PLC 功能应用C2000 API D SWAP P 上下 8 位互换 147 位装置 字符装置 16 位指令 (3 STEP) X YM K H KnX KnY KnM T C D SWAP 连续执行型 SWAPP 脉波执行型 S * * * * * * 32 位指令 (5 STEP) DSWAP 连续执行型 DSWAPP 脉波执行型 操作数使用注意:无 旗标信号:无 S :欲执行上下位 8 位互相交换之装置。 16 位指令时,上位 8 位与下位 8 位的内容互相交换。 32 位指令时,两个缓存器的上位 8 位与下位 8 位的内容互相交换。 本指令一般使用脉波执行型指令(SWAPP, DSWAPP)。 16-100
16 PLC 功能应用C2000 API MODRW P MODBUS 数据读写 150 位装置 字符装置 16 位指令 (5 STEP) X Y M K H KnX KnY KnM T C D MODRW 连续执行型 MODRW 脉波执行型 S1 ** * P S2 * * * 32 位指令 - - - S3 * * *- S n ** * * 旗标信号:M1077 M1078 M1079 S1:联机装置地址。S2:通讯功能码。S3:欲读写数据的地址。S:欲读写之数据 存放缓存器。n:读写数据长度。 使用此指令之前,需把 COM1 定义为由 PLC 所控制(设 Pr. 09-31 = -12)。再设定 对应的通讯速度和格式(设 Pr. 09-01 和 Pr. 09-04)。S2:通讯功能码(Function Code)。目前仅支持下述功能码,其余功能码将无法执行。 Function 说明 H 02 Input 读取 H 03 读取 Word H 06 写入单个 Word H 0F 写入多个 Coil H 10 写入单个 Word 执行此指令后,会把 M1077、M1078、M1079 马上变为 0。 举例来说,如果 C2000 想控制另一台变频器和 PLC,如果变频器的站号是 10,而 PLC 站号是 20 的话,以下是范例: 控制从机的变频器 编号 范例 MODRW 指令 S1 S2 S3 S4 n 站号 功能码 地址 缓存器 长度 读取变频器从机参数 1 Pr.01-00~Pr.01-03 共 4 笔数据,并把读 K10 H3 H100 D0 K4 到的存放在 D0~D3 读取变频器从机地址 H2100~H2102 共 H3 H2100 D5 K3 2 K10 3 笔数据,并把读到的存放在 D5~D7 写入变频器从机参数 3 Pr.05-00~Pr.05-03 共 3 笔资料,写入的 K10 H10 H500 D10 K3 值分别为 D10~D12 写入变频器从机地址 H2000~H2001 共 H10 H2000 D15 K2 4 K10 2 笔数据,写入的值分别为 D15~D16 16-101
16 PLC 功能应用C2000 控制从机的 PLC 编号 范例 S1 MODRW 指令 n 站号 S2 S3 S4 长度 功能码 地址 缓存器 K4 读取 PLC 从机的 X0~X3 状态共 4 笔 H2 H400 D0 K4 1 K20 H2 H500 D1 K4 H2 H800 D2 K4 数据,并把读到的存放在 D0 的 bit 0 ~ 3 H2 H600 D3 K4 H2 HE00 D4 K4 读取 PLC 从机的 Y0~Y3 状态共 4 笔 H3 H600 D10 K4 2 K20 H3 HE00 D20 K4 H3 H1000 D30 K4 数据,并把读到的存放在 D1 的 bit 0 ~ 3 HF H500 D1 K4 HF H800 D2 K4 读取 PLC 从机的 M0~M3 状态共 4 笔 HF H600 D3 K4 3 K20 HF HE00 D4 K4 H10 H600 D10 K4 数据,并把读到的存放在 D2 的 bit 0 ~ 3 H10 HE00 D20 K4 H10 H1000 D30 读取 PLC 从机的 T0~T3 状态共 4 笔数 4 K20 据,并把读到的存放在 D3 的 bit 0 ~ 3 读取 PLC 从机的 C0~C3 状态共 4 笔 5 K20 数据,并把读到的存放在 D4 的 bit 0 ~ 3 读取 PLC 从机的 T0~T3 计数值共 4 笔 6 K20 数据,并把读到的存放在 D10~D13 读取 PLC 从机的 C0~C3 计数值共 4 K20 7 笔数据,并把读到的存放在 D20~D23 读取 PLC 从机的 D0~D3 计数值共 4 K20 8 笔数据,并把读到的存放在 D30~D33 写入 PLC 从机的 Y0~Y3 状态共 4 笔 K20 9 数据,写入的值分别为 D1 的 bit 0 ~ 3 写入 PLC 从机的 M0~M3 状态共 4 笔 10 K20 数据,写入的值分别为 D2 的 bit 0 ~ 3 写入 PLC 从机的 T0~T3 状态共 4 笔数 11 K20 据,写入的值分别为 D3 的 bit 0 ~ 3 写入 PLC 从机的 C0~C3 状态共 4 笔 12 K20 数据,写入的值分别为 D4 的 bit 0 ~ 3 写入 PLC 从机的 T0~T3 计数值共 4 笔 13 K20 资料,写入的值分别为 D10~D13 写入 PLC 从机的 C0~C3 计数值共 4 K20 14 笔资料,写入的值分别为 D20~D23 写入 PLC 从机的 D0~D3 计数值共 4 K20 15 笔资料,写入的值分别为 D30~D33 16-102
16 PLC 功能应用C2000 一开始运行 PLC 时会触发 M0 ON,并传送执行一次 MODRW 的指令。 当收到从机的响应后,如果正确指令,则会执行一次 ROL 指令,此时会让 M1 On 起来。 当收到从机的响应后,延迟 10 次 PLC 的扫描周期后,触发 M50 = 1,进而又再执 行一次 MODRW 的指令。 当又再收到从机的响应后,如果正确指令,则会执行一次 ROL 指令,此时会让 M2 On 起来,(而 M2 可定义为 repeat M)会把 K4M0 再变成 K1,也就是只剩 M0 为 1,进而可以不断循环的传送。如要增加传送命令,则只需在虚框中加入欲增加的 命令,以及把 repeat M 改为 Mn+1 即可。 16-103
16 PLC 功能应用C2000 API TCMP P 万年历数据比较 160 位装置 字符装置 X Y M K H KnX KnY KnM T C D 16 位指令 (11 STEP) S1 * * * * * * * * TCMP 连续执行型 TCMPP 脉波执行型 S2 * * * * * * * * S3 * * * * * * * * 32 位指令 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 串并联即可取得。 16-104
16 PLC 功能应用C2000 API TZCP P 万年历数据比较 161 位装置 字符装置 16 位指令 (9 STEP) TZCP 连续执行型 X YM K H KnX KnY KnM T C D 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 之前的状态。 16-105
16 PLC 功能应用C2000 API TADD P 万年历资料加算 162 位装置 字符装置 16 位指令 (7 STEP) X Y M K H KnX KnY KnM T C D TADD 连续执行型 TADDP 脉波执行型 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 16-106
16 PLC 功能应用C2000 API TSUB P 万年历资料减算 163 位装置 字符装置 16 位指令 (7 STEP) X Y M K H KnX KnY KnM T C D TSUB 连续执行型 TSUBP 脉波执行型 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 16-107
16 PLC 功能应用C2000 API TRD P 万年历资料读出 166 位装置 字符装置 16 位指令 (3 STEP) X Y M K H KnX KnY KnM T C D TRD 连续执行型 TRDP 脉波执行型 D *** 操作数使用注意: 32 位指令 各装置使用范围请参考各系列机种功能规格表 -- - - 旗标信号:无 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-108
16 PLC 功能应用C2000 API D GRY P BIN→GRAY 码变换 170 位装置 字符装置 16 位指令(5 STEP) X Y M K H KnX KnY KnM T C D GRY 连续执行型 GRYP 脉波执行型 DGRYP 脉波执行型 S ******** D * * * * * 32 位指令(9 STEP) 操作数使用注意: 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-109
16 PLC 功能应用C2000 API D GBIN P GRAY 码→BIN 变换 171 位装置 字符装置 16 位指令 (5 STEP) X Y M K H KnX KnY KnM T C D GBIN 连续执行型 GBINP 脉波执行型 脉波执行型 S ******** D * * * * * 32 位指令(9 STEP) 操作数使用注意: DGBIN 连续执行型 DGBINP 各装置使用范围请参考各系列机种功能规格表 旗标信号:无 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-110
16 PLC 功能应用C2000 API D LD# S1 S2 接点型态逻辑运算 LD# 215~ 16 位指令 (5 STEP) 217 C D LD# 连续执行型 ** 位装置 字符装置 * * 32 位指令 (9 STEP) X Y M K H KnX KnY KnM T DLD# 连续执行型 - - - - S1 * * * * * * 旗标信号:无 S2 * * * * * * 操作数使用注意:#:\&、|、^ 各装置使用范围请参考各系列机种功能规格表 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-111
16 PLC 功能应用C2000 API D AND# S1 S2 接点型态逻辑运算 AND# 218~ 16 位指令 (5 STEP) 220 C D AND# 连续执行型 ** 位装置 字符装置 * * 32 位指令 (9 STEP) X Y M K H KnX KnY KnM T DAND# 连续执行型 - - - - S1 * * * * * * 旗标信号:无 S2 * * * * * * 操作数使用注意:#:\&、|、^ 各装置使用范围请参考各系列机种功能规格表 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 219 AND| DAND| S1 | S2 0 S1 ^ S2 0 220 AND^ DAND^ 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 X1 AND I D10 D0 SET Y11 X2 M50 DAND^ D200 D100 M3 16-112
16 PLC 功能应用C2000 API D OR# S1 S2 接点型态逻辑运算 OR# 221~ 223 位装置 字符装置 16 位指令 (5 STEP) X Y M K H KnX KnY KnM T CD OR# 连续执行型 - - - - S1 * * * * * * ** * * 32 位指令 (9 STEP) S2 * * * * * * 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 222 OR| DOR| S1 | S2 0 S1 ^ S2 0 223 OR^ DOR^ 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-113
16 PLC 功能应用C2000 API D LD※ S1 S2 接点型态比较 LD※ 224~ 16 位指令 (5 STEP) 230 C D LD※ 连续执行型 ** 位装置 字符装置 * * 32 位指令 (9 STEP) X Y M K H KnX KnY KnM T DLD※ 连续执行型 - - S1 * * * * * * - - 旗标信号:无 S2 * * * * * * 操作数使用注意:※:=、>、<、<>、≦、≧ 各装置使用范围请参考各系列机种功能规格表 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-114
16 PLC 功能应用C2000 API D AND※ S1 S2 接点型态比较 AND※ 232~ 16 位指令 (5 STEP) 238 C D AND※ 连续执行型 ** 位装置 字符装置 * * 32 位指令 (9 STEP) X Y M K H KnX KnY KnM T DAND※ 连续执行型 - - S1 * * * * * * - - 旗标信号:无 S2 * * * * * * 操作数使用注意:※:=、>、<、<>、≦、≧ 各装置使用范围请参考各系列机种功能规格表 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。 K200 C10 Y10 X0 AND= X1 AND<> K-10 D0 SET Y11 X2 M50 DAND> K678493 D10 M3 16-115
16 PLC 功能应用C2000 API D OR※ S1 S2 接点型态比较 OR※ 240~ 16 位指令 (5 STEP) 246 C D OR※ 连续执行型 ** 位装置 字符装置 * * 32 位指令 (9 STEP) X Y M K H KnX KnY KnM T DOR※ 连续执行型 - - S1 * * * * * * - - 旗标信号:无 S2 * * * * * * 操作数使用注意:※:=、>、<、<>、≦、≧ 各装置使用范围请参考各系列机种功能规格表 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-116
16 PLC 功能应用C2000 API FLD※ S1 S2 浮点数接点型态比较 LD※ 275~ 280 位装置 字符装置 16 位指令 X Y M K H KnX KnY KnM T CD - - - - 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-117
16 PLC 功能应用C2000 API FAND※ S1 S2 浮点数接点型态比较 AND※ 281~ 286 位装置 字符装置 16 位指令 X Y M K H KnX KnY KnM T CD - - - - 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-118
16 PLC 功能应用C2000 API FOR※ S1 S2 浮点数接点型态比较 OR※ 287~ 292 位装置 字符装置 16 位指令 X Y M K H KnX KnY KnM T CD - - - - 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-119
16 PLC 功能应用C2000 16-6-5 变频器特殊应用指令详细说明 API RPR P S1 S2 变频器参数读取 139 位装置 字符装置 16 位指令 (5 STEP) X Y M K H KnX KnY KnM T C D RPR 连续执行型 RPRP 脉波执行型 S1 * * * S2 * 32 位指令 操作数使用注意:无 - -- - 旗标信号:无 S1 :欲读取数据的参数地址。 S2 :欲读取数据存放之缓存器。 API WPR P S1 S2 变频器参数写入 140 位装置 字符装置 16 位指令 (5 STEP) X Y M K H KnX KnY KnM T C D WPR 连续执行型 WPRP 脉波执行型 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 的读 取。 使用 WPR 指令时请注意,在写入参数时,由于大多参数都是当次写入时就记录了,而 这些参数只容许 109 次的更改次数,写入次数超过时,则会发生内存写坏的情形。 下述的常用参数,有特别处理过,因此”无”写入次数上的限制。 Pr. 00-10:控制模式 Pr. 00-11:速度模式选择 Pr. 00-12:P2P 位置模式 Pr. 00-13:转矩模式选择 Pr. 00-27:使用者定义内容值 16-120
16 PLC 功能应用C2000 Pr. 01-12:加速时间 1 Pr. 01-13:减速时间 1 Pr. 01-14:加速时间 2 Pr. 01-15:减速时间 2 Pr. 01-16:加速时间 3 Pr. 01-17:减速时间 3 Pr. 01-18:加速时间 4 Pr. 01-19:减速时间 4 Pr. 02-12:MI 模式选择 Pr. 02-18:MO 模式选择 Pr. 04-50~Pr. 04-69:PLC 暂存参数 0 ~ 19 Pr. 08-04:积分上限 Pr. 08-05:PID 输出上限 Pr. 10-17:电子齿轮 A Pr. 10-18:电子齿轮 B Pr. 11-34:转矩命令 Pr. 11-43:P2P 最高频率 Pr. 11-44:位置控制加速时间 Pr. 11-45:位置控制减速时间 写入次数的计算是以写入值是否变更为依据。例如同时写 100 次同样的值,只会视为 一次。 如果 PLC 程序在编写上,不是很确定 WPR 指令的使用的情形,建议使用 WPRP 指 令。 16-121
16 PLC 功能应用C2000 API FPID P S1 S2 S3 S4 变频器 PID 控制 141 位装置 字符装置 16 位指令 (9 STEP) X Y M K H KnX KnY KnM T C D FPID 连续执行型 FPIDP 脉波执行型 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-122
16 PLC 功能应用C2000 API FREQ P S1 S2 S3 变频器速度控制 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:加减速时间设定中,其小数字数是根据 Pr. 01-45 的定义而定的。 例: 当 01-45= 0:单位 0.01 秒 如下方阶梯图中 S2(加速时间)设定 50,即为 0.5 秒, S3(减速时间)设定 60,即为 0.6 秒。 此指令 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 M11 M1026 M1000 M1040 M12 M1042 M13 M1044 M14 M1052 K0 K0 M10 M11 FREQP K300 K50 K60 M11 M10 FREQ K3000 END 16-123
16 PLC 功能应用C2000 参数 09-33 定义为在 PLC 执行前的参考命令是否清除 bit 0 : PLC 扫描程序前,把目标频率是否先清除为 0。(PLC 有开,且有写到 FREQ 指令) bit 1 : PLC 扫描程序前,把目标转矩是否先清除为 0。(PLC 有开,且有写到 TORQ 指令) bit 2 : PLC 扫描程序前,把转矩模式下的速度限制是否先清除为 0。(PLC 有开, 且有写到 TORQ 指令) 举例说明 : 当用户在写一段程序 M0 FREQ K2000 K1000 K1000 END 这时我们把 M0 强制为 1,则频率命令为 20.00 Hz,而当把 M0 设定为 0 时,则 有不同情况 Case 1:当 Pr. 09-33 的 bit 0 为 0,M0 设定为 0 时,则频率命令仍保持为 20.00Hz Case 2:当 Pr. 09-33 的 bit 0 为 1,M0 设定为 0 时,则频率命变回 0.00Hz 这原因为当 PLC 扫描程序前,当 09-33 的 bit 0 为 1 时,会把频率先清除为 0。 当 Pr. 09-33 的 bit 0 为 0 时,则不做频率清除为 0 的动作。 16-124
16 PLC 功能应用C2000 API TORQ P S1 S2 变频器扭力控制 263 位装置 字符装置 16 位指令 (5 STEP) X Y M K H KnX KnY KnM T C D TORQ 连续执行型 TORQ P 脉波执行型 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,然而通常此旗标会一直跳动。 参数 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:当 Pr. 09-33 的 bit 1,bit2 皆设为 0,M1 设定为 0 时,则转矩命令仍保持为+30 %, 且速度限制也会被设为 40Hz。 Case 2:当 Pr. 09-33 的 bit 1,bit2 皆设为 1,M1 设定为 0 时,则转矩命令会变回 0%, 且速度限制也会被设为 0Hz。 16-125
16 PLC 功能应用C2000 API DPOS P S1 变频器点对点控制 262 位装置 字符装置 16 位指令 XY 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。 16-126
16 PLC 功能应用C2000 API CANRX P S1 S2 S3 D 读取 CANopen 从站数据 261 位装置 字符装置 16 位指令 (9 STEP) X Y M K H KnX KnY KnM T C D CANRX 连续执行型 CANRX 脉波执行型 S1 * * P S2 * * 32 位指令 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 时,则切换不同的讯息 16-127
16 PLC 功能应用C2000 API CANTX P S1 S2 S3 S4 写入 CANopen 从站资料 264 位装置 字符装置 16 位指令 (9 STEP) X Y M K H KnX KnY KnM T C D CANTX 连续执行型 CANTX 脉波执行型 S1 ** P S2 * * * * * 32 位指令 - -- S3 * * - S4 * * 操作数使用注意:无 旗标信号: S1 :从站站号。 S2 :欲写入的地址。 S3 :主索引。 S4 :副索引+bit 长度。 此指令 CANTX 可写值到所对应从站的索引,当执行时,会发送 SDO 的讯息格式给从站, 此时 M1066 和 M1067 同时为 0,而读取完成时会把 M1066 设为 1,如果从站有正确响应, 则会把值写到所设定的缓存器,并把 M1067 设为 1,而若从站回应错误时,则会把 M1067 设为 0,并把错误的讯息纪录到 D1076~D1079。 16-128
16 PLC 功能应用C2000 API CANFLS P D 更新 CANopen 对应的特 D 265 位装置 字符装置 16 位指令 (3 STEP) XYM K H KnX KnY KnM T C D CANFLS 连续执行型 CANFLS 脉波执行型 D* * P 操作数使用注意:无 32 位指令 - - -- 旗标信号: D :欲更新的特 D。 此指令 CANFLS 可更新特 D 的命令,当属性为只读时,执行此指令时,会发送等同于 CANRX 的讯息给从站,而把从站站号回传的数据自行更新到此特 D。如果属性为可擦写时, 执行此指令时,会发送等同于 CANTX 的讯息给从站,而把此特 D 的值写入到所对应的从 站。 M1066 和 M1067 同时为 0,而读取完成时会把 M1066 设为 1,如果从站有正确响应,则 会把值写到所设定的缓存器,并把 M1067 设为 1,而若从站回应错误时,则会把 M1067 设为 0,把错误的讯息纪录到 D1076~D1079。 API D ICOMR P D 内部通讯读取 320 位装置 字符装置 16 位指令 (9 STEP) X Y M K H KnX KnY KnM T C D ICOMR 连续执行型 ICOMRP 脉波执行型 S1 * * * S2 * * * 32 位指令 (17 STEP) DICOM 脉波执行型 S3 * * * DICOMR 连续执行型 RP D* * * 操作数使用注意:无 旗标信号:M1077 M1078 M1079 S1 :从机选择(数值 0~7 对应从站 1~8)。 S2 :Device 选择(0:变频器 ;1:内部 PLC)。 S3 :读取地址。 D :存放目标。 此指令 ICOMR 可以获取从站的变频器和所内置 PLC 的缓存器值。 16-129
16 PLC 功能应用C2000 API D ICOMW P D 内部通讯写入 321 位装置 字符装置 16 位指令 (9 STEP) X Y M K H KnX KnY KnM T C D ICOMW 连续执行型 ICOMW 脉波执行型 S1 ** P * S2 * * * 32 位指令(17 STEP) DICOM 脉波执行型 S3 * * * DICOM 连续执行型 WP D ** W * 操作数使用注意:无 旗标信号:M1077 M1078 M1079 S1 :从机选择(数值 0~7 对应从站 1~8)。 S2 :Device 选择(0:变频器;1:内部 PLC)。 S3 :读取地址。 D :存放目标。 此指令 ICOMW 可以写值到从站的变频器和所内置 PLC 的缓存器值。 参考下述范例: 16-130
16 PLC 功能应用C2000 API WPRA P S1 S2 变频器参数写入 323 位装置 字符装置 16 位指令 (5 STEP) X Y M K H KnX KnY KnM T C D WORA 连续执行型 WORAP 脉波执行型 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 的读 取。 WPRA 执行时只写入到 RAM 区,断电后回恢复成前一态纪录值。 16-131
16 PLC 功能应用C2000 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-132
16 PLC 功能应用C2000 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”(如果是拿到刚出厂的变频器,则因为 里面的 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-133
16 PLC 功能应用C2000 当跳出 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-134
16 PLC 功能应用C2000 读出之后,我们必须对一些特 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 CANopen 初始化完成的通道 (bit0=Machine code0 …….) R D1071 CANopen 初 始 化 过 程 发 生 错 误 的 通 道 (bit0=Machine R D1072 code0 …….) - 保留 D1073 CANopen 断线信道 (bit0=Machine code0 …….) R 主站发生错误的错误代码 0:没有错误 R D1074 1:从站设定错误 2:同步周期设定错误(太小) 16-135
16 PLC 功能应用C2000 特D 功能说明 R/W - D1075 保留 R R D1076 SDO 的错误讯息(主索引值) R R D1077 SDO 的错误讯息(副索引值) 默认值 R/W D1078 SDO 的错误讯息(错误代码 L) 4 RW D1079 SDO 的错误讯息(错误代码 H) 第二区 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 如果从机的开机比较慢,则主站可以先延迟一段时间后再开始对从站做设置,这时间延迟可以透过 D1092 来设定。 特D 功能说明 默认值 R/W D1092 开始初始化之前的延迟 0 RW 16-136
16 PLC 功能应用C2000 在对从机初始化时,可以设置判定初使化失败的延迟时间,如果通讯速度比较慢,则可以调整判定是否初始 化完成延迟的时间,避免还来不及对从机初始化。 特D 功能说明 默认值 R/W D1099 初始化完成的延迟时间 15 秒 RW 设定范围:1~60000 秒 当通讯起来后,需要侦测从站是否断线,则透过 D1093 设定侦测时间,D1094 设定连续几次错误发生时 触发断线错误。 特D 功能说明 默认值 R/W D1093 断线时间侦测 1000ms RW D1094 断线次数侦测 3 RW 另外进入正常通讯之前,可以设定 PDO 的传送封包类型,原则上这可以不用调整。 特D 功能说明 默认值 R/W D1097 实时对应的传送类型(PDO) 1 RW 设定范围:1~240 D1098 实时对应的接收类型(PDO) 1 RW 设定范围: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 实际扭力 D2022+100*n D2018+100*n 实际位置 D2023+100*n 从机 AI1 D2028+100*n 实际频率 D2013+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 设定。 16-137
16 PLC 功能应用C2000 而这 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 长 PDO4 TX PDO 度 PDO3 PDO2 PDO1 说明 特D 说明 特 D 说明 特D 说明 特D 1 控制字 D2008+100*n 控制字 D2008+100*n 从机 DO D2027+100*n 控制字 D2008+100*n 2 目标转矩 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 D2067+100*n =000Ah 长 PDO4 TX PDO 度 PDO3 PDO2 PDO1 说明 特D 说明 特 D 说明 特D 说明 特D 1 控制字 D2009+100*n 控制字 D2009+100*n 从机 DI D2026+100*n 控制字 D2009+100*n 2 实际扭力 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 16-138
16 PLC 功能应用C2000 2. ●表示 PDOTX,▲表示 PDORX,未标示的特 D 可透过 CANFLS 指令更新 特D 功能说明 默认值 PDO 默认值 4 R/W 1 23 RW D2000+100*n 从站编号 n 的站号 0 设定范围:0~127 R D2002+100*n 0:无 CANopen 功能 0 R D2003+100*n 从站编号 n 的厂家代码(L) 0 R D2004+100*n 从站编号 n 的厂家代码(H) 0 R D2005+100*n 从站编号 n 的厂家的产品代码(L) 0 从站编号 n 的厂家的产品代码(H) 基本定义 特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 速度控制 特D 功能说明 默认值 PDO 默认值 R/W 1234 RW RW D2001+100*n 从站编号 n 的转矩限制 0 R D2012+100*n 从站编号 n 的目标速度(rpm) R D2013+100*n 从站编号 n 的实际速度(rpm) 0● RW D2014+100*n 从站编号 n 的误差速度(rpm) RW D2015+100*n 从站编号 n 的加速时间(ms) 0▲ D2016+100*n 从站编号 n 的减速时间(ms) 0 1000 1000 扭力控制 特D 功能说明 默认值 PDO 默认值 R/W 1234 RW D2017+100*n 从 站 编 号 n 的 目 标 扭 力 0 (-100.0%~+100.0%) ● 0 D2018+100*n 从站编号 n 的实际扭力(XX.X%) 0 ▲R R D2019+100*n 从站编号 n 的实际电流(XX.XA) 16-139
16 PLC 功能应用C2000 位置控制 特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-140
16 PLC 功能应用C2000 另一种方式可以设定 D1091,把从站编号 0~7 看哪个不需用到,就把对应的 bit 设 0,例如不想控制从站 2、6 和 7,则只需设定 D1091 = 003B 即可,而设定方式如同上述方式一样,透过 WPL 执行通讯 > 缓 存器编辑(T C D)的功能去做设定。 步骤三:设定主站的通讯站号及通讯速度 设主站的站号(参数 09-46,预设为 100),注意不要跟从站设一样。 设 CANopen 的通讯速度(参数 09-37),通讯速度无论变频器定义为主站或从站,皆由此参数设 定。 16-141




