CTH300-C 系列运动控制器系统手册 1:负标定 温度模块要配置此项参数,AI 模块只有 4~20mA 量程段需要配置此项参数 冷端补偿 0:要冷端补偿(默认值) 1:不要冷端补偿 组使能 0:使能(默认值) 1:不使能 通道默认值:16#4045(K,4 通道,2Hz,degrees Celsius,要断线检测,正标定,要冷端补偿,使能) D.5 RTD 模块通道配置 温度模块输入一组参数配置格式: Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 采样周期 输入类型和量程 Bit 15 Bit 14 Bit 13 Bit 12 Bit 11 Bit 10 Bit 9 Bit 8 温度模块组关闭 配置使能 温度模块 温度模块 温度模块 温度模块 温度模块接线方式 位 位,必须为 1 冷端补偿 正负标定 断线检测 温度单位 注:组关闭位 0 - 使能 输入类型和量程: 模块类型 输入类型 输入量程 量程编码(BIT4~0) Pt-100Ω(α=3850ppm)(默认值 ) 00000 Pt-200Ω(α=3850ppm) 00001 Pt-500Ω(α=3850ppm) 00010 Pt-1000Ω(α=3850ppm) 00011 Pt-100Ω(α=3920ppm) 00100 Pt-200Ω(α=3920ppm) 00101 RTD RTD Pt-500Ω(α=3920ppm) 00110 Pt-1000Ω(α=3920ppm) 00111 Pt-100Ω(α=3850.55ppm) 01000 Pt-200Ω(α=3850.55ppm) 01001 Pt-500Ω(α=3850.55ppm) 01010 Pt-1000Ω(α=3850.55ppm) 01011 Pt-100Ω(α=3916ppm) 01100 141
附录 电阻 Pt-200Ω(α=3916ppm) 01101 Pt-500Ω(α=3916ppm) 01110 Pt-1000Ω(α=3916ppm) 01111 Pt-100Ω(α=3902ppm) 10000 Pt-200Ω(α=3902ppm) 10001 Pt-500Ω(α=3902ppm) 10010 Pt-1000Ω(α=3902ppm) 10011 Pt-10000Ω(α=3850ppm) 10100 Cu-9.035Ω(α=4720ppm) 10101 Ni-10Ω(α=6720ppm) 10110 Ni-120Ω(α=6720ppm) 10111 Ni-1000Ω(α=6720ppm) 11000 Ni-10Ω(α=6178ppm) 11001 Ni-120Ω(α=6178ppm) 11010 Ni-1000Ω(α=6178ppm) 11011 R-150Ω 11100 R-300Ω 11101 R-600ΩFS 11110 采样周期: 更新频率(采样周期) 采样周期编码(BIT7~5) 模块类型 8 Hz 000 4 Hz 001 RTD 4 通道 010 2 Hz(默认值) 011 RTD 8 通道 1 Hz 000 4 Hz 001 2 Hz 010 011 1 Hz(默认值) 0.5 Hz 142
CTH300-C 系列运动控制器系统手册 0:三线制(默认值) 接线方式 1:二线制 2:四线制 温度单位 0:degrees Celsius(默认值) 1:degrees Fahenheit 0:要断线检测(默认值) 断线检测 1:不要断线检测 温度模块要配置此项参数,AI 模块只有 4~20mA 量程段需要配置此项参数 0:正标定(默认值) 正负标定 1:负标定 温度模块要配置此项参数,AI 模块只有 4~20mA 量程段需要配置此项参数 冷端补偿 0:要冷端补偿(默认值) 1:不要冷端补偿 组使能 0:使能(默认值) 1:不使能 通道默认值:16#4040(Pt-100Ω(α=3850ppm),4 通道,2Hz,三线制,degrees Celsius,要断线检 测,正标定,要冷端补偿,使能) D.6 模拟量输出模块通道配置 模拟量输出一组类型配置格式: Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 保留 保留 电压/电流 Bit 11 Bit 8 量程(含极性) Bit 12 Bit 15 Bit 14 Bit 13 保留 Bit 10 Bit 9 类型: 0:电压(默认值) 1:电流 量程: 0:±10V(电压) 1:0~20mA(电流) 2:4~20mA(电流) 143
附录 默认值:±10V(电压)/0~20mA(电流) 通道默认值:16#0000 E CT_MODBUS 库的使用介绍 E.1 安装 CTModbus 库文件 选择进行 Modbus 通信时,首先请安装 CT_MODBUS 库文件(库文件请于 COTRUST 公司网站下载: http://www.co-trust.com),然后执行“添加库”即可使用该库指令。 1)安装库 启动 CODESYS 软件,选择菜单项“工具”→“安装库”: 在弹出的窗口中浏览到 Ct_Modbus.library 所在的文件夹,选中“Ct_Modbus.library”,点击“打开” 按钮。如果弹出如下提示,即表示 CT_MODBUS 库已安装成功。 2)添加库 CTMODBUS 库文件安装成功后,若需要在当前工程中使用该库,则需要执行“添加库”。具体操作步 骤如下: 在设备视图中展开“Device”→“PLC”→“Application”,双击打开“库管理器”,然后在库管理器 对话框点击“Add Library”按钮即弹出如下“添加库”对话框: 144
CTH300-C 系列运动控制器系统手册 展开以上对话框中的“杂项”,选中子列表中的“Co-trust Modbus Library”并点击“确定”按钮,即 可将 CT_MODBUS 库添加到当前工程中。 E.2 Modbus_RTU 库文件 1)Modbus_RTU 主站 MBUS_CTRL 使用说明 使用 MBUS_CTRL 指令完成主站的初始化,并启动其功能控制。 表 E-1 MBUS_CTRL 指令的参数说明 参数 说明 数据类型 范围 Modbus 使能/不使能 Mode 1:使能 Modbus 主站协议 位 0:不使能 Modbus 主站协议(重新启用 PPI 系 统协议) 1200、2400、4800、9600 Baud 设置波特率 双字 19200、38400、57600、 115200 Parity 设置校验 字节 0:无校验 145
附录 Timeout 1:奇校验 整型 1~ 32767 2:偶校验 Done 主站等待从站响应的时间, 位 Error 单位:毫秒 ms 字节 典型的设置值为 1000 毫秒(1 秒)。 此值应该设为足够大,以便从站设备对所选的波 特率及时响应。 超时时间的设定用户判断从站设备是否响应请 求。 在最后一个请求字节发出后,超时时间值决定了 Modbus 主站等待第一个字符回复的时间。 始终为 1 错误代码见下表(Done 为 1 时生效) 表 E-2 错误代码 意义 错误代码 0 无错误 1 校验选择非法 2 波特率选择非法 3 超时时间非法 4 模式选择非法 9 硬件错误 2)主站 MBUS_MSG 使用说明 使用 Modbus RTU 主站读写子程序 MBUS_MSG 指令,First 接通发送一个 Modbus 请求。同一时刻 只能使能一个读写功能(即 MBUS_MSG)。 146
CTH300-C 系列运动控制器系统手册 表 E-3 MBUS_MSG 指令的参数说明 参数 说明 数据类型 范围 0~247 First 消息读写请求标志,程序运行周期中设置为 1 表示有新的读写请 位 求 设置 Modbus 从站地址 Slave 0:广播地址 字节 广播地址(0)仅能用于写请求。 R/W 读写 RW 0:Read(读) 字节 1:Write(写) 数字量输出和保持寄存器均支持读写操作。 数字量输入和模拟量输入寄存器只能读。 Addr Modbus 数据地址(i.e. 40001) Addr 00001 ~ 00xxx:开关量输出 双字 10001 ~ 10xxx:开关量输入 30001 ~ 30xxx:模拟量输入寄存器 40001 ~ 40xxx:保持寄存器 通讯的数据个数(位或字的个数) 00xxx:读或写的位个数 Count 10xxx:读或写的位个数 整型 30xxx:输入寄存器读的字个数 40xxx:保持寄存器读或写的字个数 Modbus 主站最多可读或写 120 个字的数据。 数据指针 如果是读指令,读回的数据放到这个数据区中;如果是写指令, DataPtr 要写出的数据放到这个数据区中。 双字 位数据(地址 0xxxx 和 1xxxx)区域可以作为包字节进行读写,8 位被打包进一个字节。 信息完成位 Done 0:信息执行中 位 1:完成 Error 错误代码见下表(Done = 1 时生效) 147
附录 表 E-4 错误代码 错误代码 意义 0 无错误 1 响应校验错误 2 未用 3 接收超时(从站无响应) 4 请求参数错误(从站地址,Modbus 地址,count,RW) 5 Modbus/自由口未使能 6 Modbus 正在忙于其它请求 7 响应错误(响应非请求的操作) 8 响应 CRC 校验和错误 9 硬件错误 101 从站不支持请求的功能 102 从站不支持数据地址(起始地址的长度范围) 103 从站不支持数据类型 104 从站设备故障 105 从站接收了信息,但是响应被延迟 106 从站忙,拒绝了该信息 107 从站拒绝了信息 108 从站存储器奇偶校验错误 <备注> 同一时间,只能有一个 MBUS_MSG 可以被激活。如果多个 MBUS_MSG 同时被激活, MBUS_MSG 将返回错误代码 6。 3)从站 MBUS_INIT 使用说明 MBUS_INIT 指令用于初始化或禁止 Modbus 通讯。MBUS_INIT 指令必须无错误的执行,然后才能够 使用 MBUS_SLAVE 指令。 148
CTH300-C 系列运动控制器系统手册 表 E-5 MBUS_INIT 指令的参数说明 参数 说明 数据类型 范围 Mode 设为 1 时初始化 modbus 从站,当程序由 STOP 转 位 换为 RUN,就只需初始化一次。 Addr 从站地址 字节 0 ~ 247 1200、2400、4800、 Baud 设置波特率 双字 9600 19200、38400、 57600、115200 设置校验 Parity 0:无校验 字节 1:奇校验 2:偶校验 Delay 附加字符定时器延时 整型 0~32767 Inputs 输入寄存器的起始地址 (ADR(arr1)) InputSize 输入寄存器最大容量 字 Outputs 输出保持寄存器的起始地址(ADR(arr1)) OutputSiz 字 输出保持寄存器的最大容量 e Done 始终为 1 位 Error 错误代码见下表 字节 表 E-6 错误代码 意义 错误代码 149 1 存储区范围错误
附录 2 非法波特率或校验 3 非法从站地址 4 非法协议(Modbus 参数) 5 保持寄存器与 Modbus 从站符号地址重叠 6 接收校验错误 7 接收 CRC 错误 8 非法功能请求 9 请求中有非法存储区地址 10 Modbus 未初始化 4)从站 MBUS_SLAVE 使用说明 MBUS_SLAVE 指令用于服务来自 Modbus 主站的请求,必须在每个循环周期都执行,以便检查和响应 Modbus 请求。 表 E-7 MBUS_SLAVE 指令的参数说明 参数 说明 数据类型 范围 位 Done Done 为 1 时执行 Modbus 消息 字节 Error 错误代码见下表 表 E-8 错误代码 错误代码 意义 1 存储区范围错误 2 非法波特率或校验 3 非法从站地址 4 非法协议 (Modbus 参数) 5 保持寄存器与 Modbus 从站符号地址重叠 6 接收校验错误 7 接收 CRC 错误 8 非法功能请求 9 请求中有非法存储区地址 150
CTH300-C 系列运动控制器系统手册 10 Modbus 未初始化 E.3 Modbus_TCP 库文件 1)Modbus_Tcp 主站 MBUS_TCP_REQ 使用说明 表 E-9 MBUS_TCO_REQ 指令的参数说明 参数 说明 数据类型 范围 First 消息读写请求标志,程序运行周期中设置为 1 位 表示有新的读写请求 IP 目标 IP 地址,格式为 '192.168.0.125' Port 目标端口 Unit 目标单元号 读写标志 RW 0:读(Read) 字节 1:写(Write) Addr Modbus 数 据 地 址 (i.e. 40001) Addr 读写的地址 双字 00001 ~ 00xxx 数字量输出 10001 ~ 10xxx 数字量输入 30001 ~ 30xxx 输入寄存器 40001 ~ 40xxx 保持寄存器 Count 读写数据大小 整型 最多可读或写 120 个字的数据 DataPtr 数据存放位置指针,指向一个字数组,例如 双字 (ADR(arr1)) 151
附录 Done 始终为 1 位 Error 错误代码(当 Done 为 1 时,Error 值才有效) 字节 表 E-10 错误代码 错误代码 意义 0 无错误 1 保留 2 保留 3 接收超时(从站无响应) 4 请求参数出错(IP 地址、Modbus 地址、count、RW,Unit) 5 Modbus 未使能 6 Modbus 正在忙于其它请求 7 响应错误(响应不是请求的操作) 8 响应 CRC 校验和错误 9 硬件错误 101 从站不支持请求的功能 102 从站不支持数据地址(起始地址的长度范围) 103 从站不支持此种数据类型 104 从站设备故障 105 从站接收了信息,但是响应被延迟 106 从站忙,拒绝了该信息 107 从站拒绝了信息 108 从站存储器奇偶错误 2)Modbus_Tcp 从站 MBUS_TCP_SLAVE 使用说明 表 E-11 MBUS_TCP_SLAVE 指令的参数说明 152
CTH300-C 系列运动控制器系统手册 参数 说明 数据类型 范围 设置为 1 时,初始化并启用 TCP MODBUS SLAVE;为 0 Mode 时停用 TCP MODBUS SLAVE。 位 注意:若需要启用 TCP MODBUS SLAVE,应保持此值 为 1。 本地监听端口 Port 建议设置为 502,如果使用其他端口,建议设置值大于 0~65535 1024 Unit 本地单元号 1~247 0~32767 Delay 应答延时,建议设置为 0 整型 Inputs 输入寄存器起始地址指针,指针类型为字指针,例如 位 Inputs=ADR(arr1)。Arr1 为字数组。 字节 InputSize 输入寄存器大小,例如,Inputs=ADR(arr1)时,值应小于 等于数组 arr1 的大小 Outputs 保持寄存器起始地址阵阵,Outputs=ADR(arr3) OutputSize 保持寄存器大小,例如,Outputs=ADR(arr3)时,值应小 于等于数组 arr3 的大小 Done 始终为 1 Error 错误码(Done=1 时有效) 表 E-12 错误代码 错误代码 意义 1 存储区范围错误 2 非法波特率/校验 3 非法的单元 ID 4 非法协议 (Modbus 参数) 5 保持寄存器与 Modbus 从站符号地址重叠 6 保留 7 保留 8 非法功能请求 9 请求中有非法存储区地址 10 Modbus 未初始化 153
附录 F 在 CODESYS 中进行的相关操作详述 F.1 添加设备 使用 CTH300-C 系列控制器可以在 CODESYS 上进行 CANopen、EtherCAT、Modubs_TCP/RTU 方式 的通信;其中 Modbus 通信通过 Modbus 指令库(参考“附录 E CT_MODBUS 库的使用介绍”)进行 编程即可实现;而 CANopen、EtherCAT 通信则需要在 CODESYS 设备视图中添加通信设备方可进行 指定通信。添加 CANopen、EtherCAT 通信设备的步骤可以参考以下描述。 1、在 CODESYS 中添加 CANopen 通信设备 1)添加 CANbus 在设备视图中右键点击“Device(CodeSys control from Co-trust)”选择“添加设备”,即可在弹出的对 话框中选择添加 CANbus:供应商选择“<全部供应商>”、现场总线选择“CANbus”作为 CAN 总线。 2)添加 CAN 主站 在设备视图中选中已经成功添加的“CANBUS”并右键选择“添加设备”,即可在“添加设备”对话框 中添加 CAN 主站:现场总线→CANopen→CANopen 管理器→CANopen_Manager。 154
CTH300-C 系列运动控制器系统手册 3)添加或扫描 CAN 从站 在设备视图中选中已经成功添加的“CANopen_Manager”并右键选择“添加设备”,即可在“添加设 备”对话框中添加 CAN 从站:现场总线→CANopen→远程设备→EM277C/H1A;或者右键点击 “CANopen_Manager”选择“扫描设备”,与 CANopen 主站相连的从站设备即可显示在 CAN 主站下 方。 4)添加 CANopen 从站的驱动 在设备视图中选中 CANopen 从站(H1A)并点击右键,在弹出的菜单中选择“Add softmotion-DSP402-axis”,即驱动添加成功。 2、在 CODESYS 中添加 EtherCAT 通信设备 1)添加 EtherCAT 主站 在设备视图选中右键点击“Device(CodeSys control from Co-trust)”选择“添加设备”,即可在弹出的 对话框中选择添加 EtherCAT 主站:供应商选择“<全部供应商>”、现场总线选择“EtherCAT”→“主 站”→“EtherCAT Master”。 2)添加或扫描 EtherCAT 从站 在设备视图选中已经成功添加的 EtherCAT 主站并点击右键选择“添加设备”,即可在弹出的对话框中 选择添加 EtherCAT 从站:供应商选择“<全部供应商>”、现场总线选择“EtherCAT”→“从站”→“H1A”; 或者右键点击 EtherCAT 主站(C37-00)选择“扫描设备”,即可将连接到 C37-00 的 EtherCAT 从站 (H1A)显示在 EtherCAT 主站(C37-00)下方。 注意:EtherCAT 从站模块无法通过“扫描设备”添加,只能手动选择添加。 3)添加 EtherCAT 从站的驱动 在设备视图中选中 EtherCAT 从站(H1A)并点击右键,在弹出的菜单中选择“Add softmotion- DSP402-axis”,即驱动添加成功。 155
附录 F.2 配置 CANopen 从站设备 CAN 从站设备(E10/H1A/H2A/EM277C)被成功添加到 CODESYS 中后,需要对其进行相关配置操作。 在设备视图中双击打开 CAN 从站,随后即可对其进行配置操作,参考下文: ① “CANopen 远程设备”选项卡:设置节点 ID、勾选“使能专家设置”; ② “PDO 映射”选项卡 在“选择接收 PDO”和“选择发送 PDO”配置框中勾选需要显示在“接收 PDO 映射”和“发送 PDO 映射”选项卡中的参数组。 ③ “接收 PDO 映射”选项卡 在该选项卡中可以为选中的参数组添加参数映射,具体操作如下图所示: 156
CTH300-C 系列运动控制器系统手册 <备注> 使用 COTRUST 伺服作为 CANopen 从站时,有关各参数的描述请参考相关伺服使用说明书, 如:若使用 H1A 伺服作为 CANopen 从站,则需要参考《H1A 伺服使用说明书》。 ④ “发送 PDO 映射”选项卡 与“接收 PDO 映射”操作相同,在该选项卡内选择需要操作的 PDO 参数组,然后点击“添加映射”即 可为该组添加发送参数。 ⑤ “服务器数据对象”选项卡 服务数据对象配置对话框中可以配置所需的 SDO,它可以定义需要传送对象的顺序,还可以定义在一个 不完整的传输过程中将进行的操作。 ⑥ “CANopen I/O 映射”选项卡 该对话框用于显示 CANopen I/O 映射,您可在本选项卡中对所映射的数据通道进行读/写操作。 ⑦ “状态”选项卡 该对话框用于显示设备的状态信息(如运行、停止等)以及设备的诊断信息。 157
附录 ⑧ “信息”选项卡 该对话框用于显示当前设备的信息,如名称、供应商、类型、版本号、模块序号、描述等。 F.3 配置 EtherCAT 从站设备 EtherCAT 从站设备(E10/H1A/H2A/ECT-00)被成功添加到 CODESYS 中后,需要对其进行相关配置 操作。 配置 E10/H1A/H2A ① “从站”选项卡:勾选“使能专家设置”,分布式时钟选择“DC for synchronization”。 ② “专家过程数据”选项卡 在“从站”选项卡中勾选“使能专家设置”后方可显示。具体操作参考以下图示: <备注> 有关各参数的描述请参考相关伺服使用说明书,如:使用 H1A 伺服作为 EtherCAT 从站,则需 要参考《H1A 伺服使用说明书》。 ③ “过程数据”选项卡 158
CTH300-C 系列运动控制器系统手册 显示从站的输入/输出过程数据,由设备描述文件的名称、类型、索引来定义。 设备所选的输入(读)和输出(写)参数组可以在 I/O 映射对话框中作为 PLC(项目变量可能被映射) 的输入和输出。 若要修改当前选择,你必须先用鼠标点击当前选择的参数组前面的方框来取消该选择,随后你即可设置 另外一组。 ④ “启动参数”选项卡 为设备定义特定的参数,在系统启动时该参数由 SDO 或 IDN 传送。 ⑤ “EtherCAT I/O 映射”选项卡 该对话框用于显示 EtherCAT I/O 映射,您可以在本选项卡中对所映射的参数进行读/写操作。 159
附录 ⑥ “状态”选项卡 该对话框用于显示设备的状态信息(如运行、停止等)以及设备的诊断信息。 ⑦ “信息”选项卡 该对话框用于显示当前设备的信息,如名称、供应商、类型、版本号、模块序号、描述等。 配置 ECT-00 ① “从站”选项卡:勾选“使能专家设置”,分布式时钟选择“DC for synchronization”。 ② “专家过程数据”选项卡 在“从站”选项卡中勾选“使能专家设置”后方可显示。具体操作参考以下图示: 160
CTH300-C 系列运动控制器系统手册 1、选择PD O的数据大小和类型 3、 选 中 需 要 操 作 ( 添 加/删 除/ 编辑)的一组PD O 2、 选 择 需 要 分 配 给 所 选 同 步 管理器中的PD O 4、 右 键 选 中 需 要 操 作 ( 添 加/删 除/ 编辑)的具体参数 ③ “过程数据”选项卡 显示从站的输入/输出过程数据,由设备描述文件的名称、类型、索引来定义。 设备所选的输入(读)和输出(写)参数组可以在 I/O 映射对话框中作为 PLC(项目变量可能被映射) 的输入和输出。 注意:EtherCAT 从站的过程数据默认全选,请勿更改,否则可能会导致通信故障。 ④ “启动参数”选项卡 161
附录 为设备定义特定的参数,在系统启动时该参数由 SDO 或 IDN 传送。 注意:EtherCAT 从站的启动参数无法修改,如需修改扩展模块控制字的配置,请在菜单树中双击打开 相应扩展模块,在其中修改启动参数后将配置下载到 CPU 运行,相关配置更改随即生效。 ⑤ “EtherCAT I/O 映射”选项卡 该对话框用于显示 EtherCAT I/O 映射,您可以在本选项卡中对所映射的参数进行读/写操作。 162
CTH300-C 系列运动控制器系统手册 注意:各个扩展模块分配的地址并非固定不变,如果执行添加/删除模块操作,则相应分配的地址会发生 变化。 G 在 CODESYS 中安装设备描述文件 G.1 安装 EtherCAT 伺服从站设备描述文件 1、打开 CODESYS 软件,选择菜单项“工具”→“设备库”打开如下对话框,在该对话框里中点击“安 装”。 2、执行上述操作后随即弹出一个对话框如下,请选择文件类型“EtherCAT XML 设备描述配置文件 (*.xml)”,选择文件“Co-Trust_H1A_EtherCAT_V1.0.xml”,点击“打开”即可安装成功。 163
附录 G.2 安装 PLC/402 轴设备描述文件 1、打开 CODESYS 软件,选择菜单项“工具”→“设备库”打开如下对话框,在该对话框里中点击“安 装”。 2、执行上述操作后随即弹出一个对话框如下,请选择文件类型“设备描述配置文件(*.devdesc.xml)”, 选择文件“Co-Trust_C35_V2.3.devdesc.xml”或“Co-Trust_C36_V2.3.devdesc.xml”或 164
CTH300-C 系列运动控制器系统手册 “Co-Trust_C37_V2.3.devdesc.xml”或“Co-Trust_H1A_EtherCAT.devdesc.xml”,点击“打开”即可安装成 功。 注意:如果使用的不是合信 H1A EtherCAT 伺服,请不用安装 402 轴文件,即 “Co-Trust_H1A_EtherCAT.devdesc.xml”不用安装。 G.3 安装 CANopen 从站 EDS 文件 1、打开 CODESYS 软件,选择菜单项“工具”→“设备库”打开如下对话框,在该对话框里中点击“安 装”。 165
附录 2、执行上述操作后随即弹出一个对话框如下,请选择文件类型“EDS 和 DCF 文件(*.eds.*.dcf)”,选 择“Co-Trust_H1A_CAN_V1.0.EDS”等后缀为.EDS 的文件,点击“打开”即可安装成功。 H 指令速查 166
CTH300-C 系列运动控制器系统手册 H.1 CODESYS 中的操作符总结 下表为操作符总结,这些操作符分别都存在于 CODESYS 的 Standard.lib 和 Util.lib 程序库中。 注意‘IL 符’栏:只有使用此符号的行才被显示。一个必要条件是:第一组必要的操作数已被顺利载入 前一行(如,LD in) ‘Mod.IL’栏显示 IL 中有可能出现的修饰符: C 前行表达式为 TRUE 的结果的修饰符。 N 对于 JMPC,CALC,RETC:如前行的结果为 FALSE,则执行此命令。 N 否则:否定操作数(非累积器) ( 括弧中操作符:只有括号出现后操作才开始执行。 表 H-1 操作符总结表 在 AWL 中 Mod. 描述 在 ST 中 AWL ' 字符串分隔符 .. [] Array 值域大小 : ; 声明中操作数与类型间的分隔符。 ^ 说明终止。 := 指示符废止。 <Program name> <Instance name> LD var1 N 缓冲器中变量 1 值的载入。 <Fctname>(vx, vy,..) ST var1 N 将实际结果存入变量 1。 S boolvar 当实际结果为 TRUE,准确设置操作数 布尔变量为 TRUE。 R boolvar 当实际结果为 FALSE,准确设置操作数 布尔变量为 TRUE。 JMP label CN 直接跳至标签。 CAL prog1 CN 调用程序 prog1。 CAL inst1 CN 调用功能程序 inst1。 调用功能 fctname 和 transmit 变量 vx, <Fctname> vx, vy CN vy。 167
RETURN RET 附录 AND ( CN Leave POU and go back to caller OR 括号后的值作操作数处理,括号前的运 XOR ) 算在括号内的表达式之前不执行。 NOT AND 现执行已被设置运算 + OR - XOR N,( 位 AND * NOT N,( 位 OR / ADD N,( 位专用 OR > SUB >= MUL 位 NOT = DIV ( 加法 <> GT ( 减法 <= GE ( 乘法 < EQ ( 除法 MOD(in) NE ( 大于 INDEXOF(in) LE ( 大于等于 SIZEOF(in) LT ( 等于 SHL(K,in) MOD ( 不等于 SHR(K,in) INDEXOF ( 小于等于 ROL(K,in) SIZEOF ( 小于 ROR(K,in) SHL SHR 模相除 SEL(G,in0,in1) ROL POU in1 的内部指数 ROR 已知 in 数据类型所需字节数 MAX(in0,in1) 操作符 in 位左移 k MIN(in0,in1) SEL 操作符 in 位右移 k 操作符 in 位旋转 k 到左 LIMIT(MIN,in,Max) MAX 操作符 in 位旋转 k 到右 MIN in0(G 为 FALSE)和 in1(G 为 TRUE) 两个操作数之间的两进制选择。 LIMIT 2 个值中较大的一个的复原。 in0 和 in1 两值之中较小一个的复原。 168 限制值域(in 重置为 MIN,或 MAX,以 免超出范围)。
CTH300-C 系列运动控制器系统手册 MUX 一组值中(in 至 In_n)选择第 k 个值。 MUX(K,in0,...in_n) ADR DWORD 中操作数的地址。 ADR(in) ADRINST() 调用操作符即功能块操作符的地址。 ADRINST() BITADR DWORD 中操作数的位平衡。 BITADR(in) BOOL_TO_<type> 布尔操作数的类型转换。 BOOL_TO_<type>(in) <type>_TO_BOOL 类型转换成 BOOL。 <type>_TO_BOOL(in) INT_TO_<type> INT 操作数类型转换位另一基本类型。 INT_TO_<type>(in) REAL 操作数类型 转换位 另一基本类 型。 REAL_TO_<type>(in) REAL_TO_<type> LREAL 操作数类型转换位另一基本类 型。 LREAL_TO_<type>(in) LREAL_TO_<type> TIME 操 作 数 类 型 转 换 位 另 一 基 本 类 型。 TIME_TO_<type>(in) TIME_TO_<type> TOD 操作数类型转换位另一基本类型。 DATE 操作数类型转换位另一基本类 TOD_TO_<type>(in) TOD_TO__<type> 型。 DT 操作数类型转换位另一基本类型。 DATE_TO_<type>(in) DATE_TO_<type> 字符串操作数类型转换位另一基本类 型,in 必须含所求类型的有效值。 DT_TO_<type>(in) DT_TO_<type> 从 REAL 转换为 INT。 操作数 in 的绝对值。 STRING_TO_<type>(in) STRING_TO_<type> 操作数 in 的平方根。 操作数 in 的自然对数。 TRUNC(in) TRUNC 操作数 in 的以 10 为底的对数。 ABS(in) ABS 操作数 in 的幂方。 SQRT(in) SQRT 操作数 in 的正弦。 LN(in) LN 操作数 in 的余弦。 LOG(in) LOG 操作数 in 的正切。 EXP(in) EXP 操作数 in 的反正弦。 SIN(in) SIN 操作数 in 的反余弦。 COS(in) COS 操作数 in 的反正切。 TAN(in) TAN ASIN(in) ASIN ACOS(in) ACOS ATAN(in) ATAN 169
附录 EXPT(in,expt) EXPT expt 操作数 in with expt 的幂乘方。 <备注> 请于 CODESYS 程序库的相关附录里获取详细的使用信息。 H.2 Standard.lib 库 表 H-2 Standard.lib 库指令 在 ST 中 在 AWL 中 描述 操作数 in 的字符串长度 LEN(in) LEN 已知字符串 str 大小的左边第一个字符串。 已知字符串 str 大小的右边第一个字符串。 LEFT(str,size) LEFT POS 处已知大小的部分 str 字符串。 两个后继字符串的合并。 RIGHT(str,size) RIGHT 在 pos 处把字符串 str1 插入字符串 str2 删除部分字符串(长度 len),启动位置为 str1 MID(str,size,pos) MID 的 pos 处。 替换长度字符串为 str2,起始位置为 str1 的 pos CONCAT('str1','str2') CONCAT 'str2' 处。 在 str1 中寻找部分字符串 str2。 INSERT('str1','str2',pos) INSERT 'str2',p 双稳态的 FB 设置为显性。 双稳态的 FB 重设。 DELETE('str1',len,pos) DELETE len,pos FB:臂板软件(可中断) FB:上升边界被监测。 REPLACE('str1','str2',len REPLACE FB:下降边界被监测。 FB:升值计数。 ,pos) 'str2',len,pos FB:下降计数。 FB:上下计数。 FIND('str1','str2') FIND 'str2' FB:触发 FB:On-Delay 时钟。 SR SR FB:Off-Delay 时钟。 FB:现实时钟。 RS RS SEMA SEMA R_TRIG R_TRIG F_TRIG F_TRIG CTU CTU CTD CTD CTUD CTUD TP TP TON TON TOF TOF RTC RTC 170
CTH300-C 系列运动控制器系统手册 H.3 Util.lib 库 表 H-3 Util.lib 库指令 字节转换:BCD 转为 INT 格式。 BCD_TO_INT 字节转换:INT 转为 BCD 格式。 INT_TO_BCD DWORD in 的第 n 位以 BOOL 类型还原。 EXTRACT(in,n) 多达 8 位被压入一个字节。 PACK DWORD in 一个位被设位一定的值。 PUTBIT 字节被作为单个的位被复原。 UNPACK 局部派生。 DERIVATIVE 整数。 INTEGRAL REAL 值的转换。 LIN_TRAFO INT 格式的最小,最大和平均值。 STATISTICS_INT REAL 格式的最小,最大和平均值。 STATISTICS_REAL 变异。 VARIANCE PD 控制器。 PD PID 控制器。 PID 脉冲信号。 BLINK 布尔输入信号的测量频率。 FREQ_MEASURE 周期性功能。 GEN 线性功能 CHARCURVE 限制供应功能(INT)减弱的上升。 RAMP_INT 限制供应功能(REAL)减弱的上升。 RAMP_REAL 滞后作用。 HYSTERESIS 注意输入值是否超出定义范围的限制。 LIMITALARM H.4 SoftMotion 库 SM3_Basic Library 该库是 CODESYS SoftMotion 应用程序的基本库,因此它必须在 SoftMotion 工程中被包括。这将在一 个 SoftMotion 设备插入时自动进行。 该库提供了以下功能块和函数: 171
附录 ● PLCopen 功能块既允许实现单轴运动控制,又允许实现两轴同步运动。除了状态检查、参数化和一般 操作的库元素以外,还有以定义的速度、加速度参数来驱动轴的功能块。此外还有同步主、从轴和传动 轴的模块。 ● DriveInterface 基本驱动程序功能块(AXIS_REF_SM3, AXIS_REF_VIRTUAL_SM3, AXIS_REF_MAPPING_SM3) ● 工具函数,比如文件服务和错误报告 ● 特定驱动器驱动程序的功能块或实现,基本驱动功能块的扩展。这些特殊驱动功能块(名为 AXIS_REF_*)通常被包括在一个单独的库中,该库被这个设备的相应设备描述所参考。 功能块整理如下: ● 驱动接口 功能 指令名称 这个驱动接口是一个功能块。它由“SM3_Basic.library”库提供,并 包括作为驱动器的工作。每一个 SoftMotion 轴都是 AXIS_REF_SM3 AXIS_REF 实例的一个扩展。 ● 数据类型,全局变量 指令名称 功能 MC_DIRECTION 它用作几个功能块的输入并指定运动方向。请注意,不是所有的模 式都能够应用于所有的功能块和轴类型(模数/有限)。 它用于功能块 MC_DigitalCAMSwitch 以确定 tappet 值应参考主轴 MC_TAPPETMODE 设定点(1),还是实际位置(2)。在自动检测(0)情况下,功 能块的判断依赖于:驱动的控制状态是使用了设定值 (bRegulatorOn = TRUE)还是实际值(bRegulatorOn = FALSE)。 SMC_BRAKESETSTATE 它用于功能块 SMC3_BrakeControl,决定驱动器如何设置机械制 动。 SMC_CAMTAPPETACTION 它确定了当凸轮已被经过时,哪些开关动作被执行。 SMC_CAMTAPPETTYPE 它用于确定凸轮必须经过哪个方向才能被激活。 SMC_CONTROLLER_MODE 它描述了电机的哪个量被控制。 SMC_ERROR 它包括了 SoftMotion 功能块可能返回的所有错误号。 SMC_HOMING_MODE 在 SMC_Homing 使用时它定义了归航序列。 172
CTH300-C 系列运动控制器系统手册 它描述插值器实例的状态。 SMC_INT_STATUS 它用于函数 SMC_ErrorString 以确定语言。 SMC_LANGUAGE_TYPE ● 数据类型,结构 功能 指令名称 它是一个描述 CAM 工作台的内部数据结构。它由 MC_CAMTableSelect 生成并做为 MC_CamIn 的输入。 MC_CAM_ID 它代表一个普通 CAM 并包含如下元素: MC_CAM_REF 它描述了 CAMSwitches 表并用作 MC_DigitalCAMSwitch 的输入。 MC_CAMSWITCH_REF 它描述了随行件的切换位置。 MC_CAMSWITCH_TR 它定义了 32 个布尔数组的形式的挺杆输出。 TYPE MC_OUTPUT_REF : MC_OUTPUT_REF ARRAY [0..31] OF BOOL; END_TYPE MC_TRACK_REF ● DriveBasic 功能 指令名称 如果被驱动装置和它的 SoftMotion 驱动程序支持,该功能块确定了机 械刹车制动器的行为。 SMC3_BrakeControl 它读取机械制动器的状态。 如果驱动设备支持,该模块可用来切换到其他控制器模式。 SMC3_BrakeStatus 它用来测量一个轴的加速度(或减加速度)绝对值的最大值。 SMC_SetControllerMode 它用来测量一个轴速度最大值。 SMC_GetMaxSetAccDec 它测量用来补偿死区时间的实际和最大迟滞误差,这种误差可能在现 SMC_GetMaxSetVelocity 场总线通讯时发生并将持续很多个周期(byDeadTimeCycles)。 它检查轴的实际位置是否在一段确定的时间内在某个位置值以内。 SMC_GetTrackingError 它用于一个旋转轴,以测量走过的距离(外壳也被计算在内)。 它可用来检查驱动装置的实际设置点是否超过了在控制器中配置的 SMC_InPosition 最大值。检查的结果将被 bLimitsExceeded 输出指示。 SMC_MeasureDistance 它将不作任何检查地把位置设置点写入轴。 SMC_CheckLimits 173 SMC_FollowPosition
SMC_FollowPositionVelocity 附录 除了可能额外定义的速度以外,它的使用和 SMC_FollowPosition 等 SMC_FollowSetValues 效。 SMC_FollowVelocity 它将不作任何检查地把设置值写入轴。 SMC_ClearFBEror 它将不作任何检查地将设置速度写入轴。 SMC_ReadFBError 它用来删除最老的功能块错误信息。 它用来读取功能块错误的最老信息。 SMC_Homing 它执行轴的参考运动。做为参考开关,一个布尔值被使用,典型地该 值是由一个硬件输入的。 SMC_ChangeGearingRatio 在该模块的帮助下,传动比和驱动设备类型可以被修改。 ● Error 指令名称 功能 依赖于输入 ErrorID 和语言,函数 SMC_ErrorString 将返回一个字符 SMC_ErrorString 串表达的错误。 ● File 指令名称 功能 它用来在运行时下载 CAM 并使其对 MC_CamTableSelect 和 SMC_ReadCam MC_CamIn 有效。 该功能块在运行时向*.CAM-file 文件写入一个在 CAM 编辑器中创建 SMC_WriteCam 的 CAM。 它用来将属于一个轴的一系列参数值循环写入到文件中。这个输出文 SMC_AxisDiagnosticLog 件是故障诊断的依据。 ● PLCopen 功能 指令名称 它用来读取驱动设备的当前设置位置。 如果驱动设备处于控制器模式“torque”时,它可用来创建一个力矩。 SMC_ReadSetPosition 它计算从设备的最大位置、速度和加速度值,该设备以绝对模式与 SMC_SetTorque 一个主设备相连,主设备按规定的最大速度和加速度/减加速度移 动。 SMC_CAMBounds 174
CTH300-C 系列运动控制器系统手册 SMC_CAMBounds_Pos 与 SMC_CAMBounds 相对的,该功能块仅计算从设备的位置最大、 最小值,该设备以绝对模式与一个主设备相连,主设备按规定的最 大速度和加速度/减加速度移动。 SMC_CAMRegister 它代表一个挺杆控制单元,它和 MC_CamIn 一样,作用于 MC_CAM_REF 结构, 撤销原轨迹信息而只读挺杆信息。 SMC_GetCamSlaveSetPosition 如果(从)轴通过 CAM 与其他(主)轴的运动相连接,该模块计 算从轴的当前目标位置。因此两个轴都不会被移动或影响。 SMC_GetTappetValue 它评估 MC_CamIn 功能块的输出 Tappet 并包含当前 tappet 状态。 MC_CamIn 它占用 CAM。 MC_CamOut 它将立即从主轴中释放从轴。 MC_CamTableSelect 它通过设置与相关工作台的连接来选择 CAM 工作台。 MC_GearIn 它通过设置与相关工作台的连接来选择 CAM 工作台。 MC_GearInPos 它通过设置与相关工作台的连接来选择 CAM 工作台。 MC_GearOut 它通过设置与相关工作台的连接来选择 CAM 工作台。它使从轴脱 离主轴。 MC_Phasing 它将占用 CAM。 MC_AccelerationProfile 它用来控制一个时间-加速度已锁定的运动分布。 MC_Halt 它用来命令一个受控运动停止。功能块将终止所有进行中的功能块 的执行。 MC_Home 它的执行引发轴执行“search home”序列。该序列的详情依赖于加工 工艺并可以由轴的参数设置。 MC_MoveAbsolute 它用来命令受控运动到一个指定的绝对位置。 MC_MoveAdditive 它用来在离散运动状态下命令一个受控运动,该运动把指定相对距 离与新近要求的位置相加。 MC_MoveRelative 它用来命令一个受控运动,在执行时该运动指定了相对于轴的实际 位置的距离。 MC_MoveSuperImposed 它用来命令一个受控运动,该运动将指定的相对距离加到已有的运 动中。已有的运动不会被中断,而是叠加附加运动。 MC_MoveVelocity 它用来以特定速度命令一个永不终止的受控运动。 MC_PositionProfile 它用来命令一个时间-位置锁定的运动分布。 MC_Power 它用来控制 power stage(“开”或“关”)。 175
附录 MC_ReadActualPosition 它将返回参考轴的实际位置。 MC_ReadAxisError 它用来描述与功能块无关的普通轴错误。 MC_ReadBoolParameter 它返回厂家指定的 BOOL 类型的参数。 MC_ReadStatus 关于当前进程中的运动,它返回轴的详细状态。 MC_ReadParameter 它返回厂商指定的参数。 MC_Reset 它通过重置所有内部关于轴的错误,把 ErrorStop 转换成 StandStill 状态-这会影响功能块实例的输出。 MC_Stop 它的执行将导致受控运动停止并将轴设置为状态“Stopping”。 MC_VelocityProfile 它用来命令一个时间-速度锁定的运动分布。 MC_WriteBoolParameter 它可用来修改厂家设定的布尔类型的参数。 MC_WriteParameter 它可用来修改厂家设定的参数。 MC_AbortTrigger 它是用来终止与触发事件(例如 MC_TouchProbe)相连接的功能 块。 和电动机轴上的开关类似:功能块控制一组离散输出位元,来开关 MC_DigitalCamSwitch 一组就像是由机械凸轮控制的、与轴相连的开关。向前和向后运动 都是允许的。 MC_ReadActualTorque 当 Enable 保持为 TRUE 时,功能块将返回实际转矩或力的值。 MC_ReadActualVelocity 当 Enable 保持为 TRUE 时,功能块将返回实际速度的值。 MC_SetPosition 它用来移动一个轴的坐标系。 MC_TouchProbe 它用来在触发事件发生时记录轴的位置。 它执行绝对运动,但是与 MC_MoveAbsolute 不同,它不是以速度 SMC_MoveContinuousAbsolute =0 到达目标位置的,而是以指定速度。 SMC_MoveContinuousRelative 它执行相对运动,但是与 MC_MoveRelative 不同,它不是以速度 =0 到达目标位置的,而是以指定速度。 ● SimpleTest 功能 指令名称 它包含一组经常使用的功能块,它用来测试和试运转一个轴。 SMC_StartupDrive SM3_CNC Library 176
CTH300-C 系列运动控制器系统手册 SM3_CNC.Library 库里的模块用来(依照 DIN 66025)解码在 CNC 编辑器中创建的轨迹。解码是为了 转化轨迹到一个结构中,以使其能够被 IEC 程序所用(轨迹预处理),或能够被修改、被插补以及被转 换 以 使 其 对 于 驱 动 设 备 是 可 读 的 ( 例 如 , SMC_NCDecoder , ToolCorr , SMC_AvoidLoop , SMC_SmoothPath,SMC_RoundPath,SMC_Interpolator)。 模块的功能故障允许某些组件-比如解码器-被为特殊需要而设计的模块所代替。此外,其他模块-比 如某个轨迹预处理或者优化-可以被毫无问题地加入到已有组件中,这样不需要考虑库中组件间的适配 性。因此,程序逻辑完全由 PLC 程序处理,只有纯动作信息才由库模块处理。 库 SM3_CNC.Library 的数据结构(例如 SMC_POSINFO,SMC_VECTOR3D)用来描述位置、轨迹段 和向量,并管理 GEOINFO 对象(QUTQUEUE 结构)。 ● 数据类型 指令名称 功能 SMC_CNC_REF 这个数据结构管理被解析了的 G 代码文件。 SMC_GCODE_TEXT 数据源与 SMC_NCDecoder 模块的同名输出相连。它用来向功能块 SMC_GCodeViewer 传递 CNC 文件最后一行已解码的字符串。 SMC_GCODEVIEWER_DATA 该结构体用一队数组作为SMC_GCodeViewer功能块的缓存;一个该 类型的变量存储一条曲线轨迹对应的G代码文件。 SMC_GCODE_WORD 它包括某个 G 代码字如“N20”或“G1”的数据。 SMC_GEOINFO 该结构是被设计用来存储轨迹对象的,也就是已编程轨迹的一段,比 如一条直线、一段圆弧或者样条曲线段。 SMC_M_PARAMETERS 它可以为当前活动的 M 函数定义附加参数,这些参数可被 SMC_GetMParameters 计值,以显示各个 M 函数的附加值。 SMC_OUTQUEUE 该结构用来管理一个已定义大小的表中的 GEOINFO 对象。 SMC_POSINFO 对一个特殊位置点该结构描述了它的坐标和附加轴的位置。 SMC_VECTOR3D 该结构体描述了三维的速度。 ● 全局变量 功能 指令名称 它的值指明了 FB 实例的实际状态。 它的值指示了 FB 实例的实际状态。 SMC_AL_STATUS 它的值指明了功能块实例的实际插补方向。 SMC_DEC_STATUS SMC_DIRECTION 177
SMC_INT_STATUS 附录 SMC_INT_VELMODE 它的值指示了 FB 实例的实际状态。可能的状态: SMC_MOVTYP 它的值确定了速度分布图。 SMC_TC_STATUS 它是 SMC_GEOINFO 的一个成员,它指明了对象的几何形状。 SMC_TOOLCORRMODE 它的值代表 FB 实例的实际状态。 它的值代表 SMC_Toolcorr 运行时的模式。 SMC_VECTORDIR 它作为SMC_CalcDirectionFromVector的输入变量,用来定义速度的倾 角、反向或垂直。 功能块记录 ● 在 SMC_CNC_POUs\\File 文件夹内 指令名称 功能 它从控制器的文件系统中读取一个 NC-ASCII 文档,使得该文档对 SMC_READNCFILE SMC_NCDecoder 可用。因此在运行时一个 NC 程序可被读入并被执 行。 SMC_READNCQUEUE 它从 PLC 文件系统中读取一个由 CNC 编辑器创建的 OutQueue 文 件,并提供一个 OutQueue 结构,典型地该结构是由解码器处理的。 IEC 61131-3 标准不可能通过字符串的符号名来决定一个变量的值。 SMC_VARLIST 但这是必要的,假如变量的功能由 SMC_CNC_REF 提供给用户使用, 也应该可以从一个文件中读取 CNC 程序。这个可以被结构 SMC_VARLIST 所管理。 ● SMC_CNC_POUs\\SoftMotion CNC\\Coordinate Transformation 文件夹内 指令名称 功能 SMC_DETERMINECUBOIDB 它用给出的 6(3/2/1)个点确定了一个立方体(角标志,边对齐)在 EARING 空间中的位置。 SMC_COORDINATETRANSF 它计算在旧坐标系中给出、并转换到新坐标系下的点的坐标。坐标变 ORMATIONS3D 换是由原点的变换和新单位向量(按旧坐标系给出)来定义的。 SMC_INVCOORDINATETRA 它计算一个在新坐标系下给出的点的坐标并将其换算到旧坐标系中。 NSFORMATION3D SMC_TEACHCOORDINATES 辅助用户计算新坐标系的向量。 YSTEM SMC_UNITVECTORTORPY 从新坐标系的单位向量计算 RPY-角度(参考旧坐标系) 178
CTH300-C 系列运动控制器系统手册 SMC_ROTATEQUEUE2D 在该模块执行时,存储在 poqDataIn 中的轨迹将被绕 Z 轴旋转给出 的角度 dPhi[°]。正角度是指数学上的正向旋转(逆时针)。 SMC_SCALEQUEUE3D 在它执行时,在 poqDataIn 所包含的轨迹将被因数 fScaleFactor 拉 伸。 SMC_TRANSLATEQUEUE3D 通过它的执行存储在 poqDataIn 中的路径将会按照 vec 转换,vec 是 SMC_VECTOR3D 的数据类型。 ● SMC_CNC_POUs\\SoftMotion CNC\\Direct Axis Control 文件夹内 指令名称 功能 用于向驱动结构写目标位置,以测试跳跃的结构。它被广泛用于 CNC SMC_CONTROLAXIXBYPOS 和 SMC_Interpolator。对于方向控制轴的设置值,应该使用始于 SMC_Follow*的一个功能块。 SMC_CONTROLAXIXBYPOS 除了在添加时速度可以被定义以外,它的使用等同于 VEL SMC_ControlAxisByPos。它通常用于 CNC 和 SMC_Interpolator。 ● SMC_CNC_POUs\\SoftMotion CNC\\GCode Viewer 文件夹内 指令名称 功能 SMC_GCODEVIEWER 它可以与 SMC_NCDecoder 结合使用。 ● SMC_CNC_POUs\\SoftMotion CNC\\Posinfo Functions 文件夹内 指令名称 功能 SMC_POSINFO 对一个特殊位置点该结构描述了它的坐标和附加轴的位置。 ● SMC_CNC_POUs\\SoftMotion CNC\\OutQueue Functions 文件夹内 指令名称 功能 SMC_APPENDOBJ 该函数块用来处理 SMC_OUTQUEUE 结构体对象。 SMC_DELETEOBJ 该布尔型函数用来处理一个 SMC_OUTQUEUE 结构对象。 SMC_GETCOUNT 类型为 UNIT 的函数将返回存储在 SMC_OUTQUEUE 表(POQ)中 的对象个数。 SMC_GETOBJ 假如输入 poq 被正确初始化并含有至少 N+1 个元素,函数将返回一 个指向表中第 N 个 GEOINFO 对象的指针,计数从表的开头算起;所 179
附录 以对于 N=0 第一个元素被返回。 假如输入 poq 被正确初始化并含有至少 N+1 个元素,函数将返回一 SMC_GETOBJFROMEND 个指向表中第 N 个 GEOINFO 对象的指针,计数从表的结尾算起;所 以对于 N=0 最后一个元素被返回。 SMC_OUTQUEUEINIT 它设置 SMC_OUTQUEUE 数据结构的变量为它的默认值。 SMC_RESTOREQUEUE 该函数块将恢复一个已被插补的或已被处理了的结构。仅当整个轨迹 能存储到由 poq 引用的表中时,这才是可能的。 SMC_SETQUEUECAPACITY 用于设置 SMC_OUTQUEUE 数据结构的变量空间。 ● SMC_CNC_POUs\\SoftMotion CNC\\SoftMotion Function Blocks 文件夹内 指令名称 功能 SMC_AVOIDLOOP 该功能块被用来做轨迹预处理。它拷贝一个轨迹,但并不剪断其内 部含有的环圈。 SMC_CHECKFORLIMITS 用于检查轨迹是否离开其特定的矩形范围。 SMC_CHECKVELOCITIES 该模块检查特殊轨迹段的轨道速度。 它减少路径的速度,加速度和减速度,使附加轴(Z, P, Q, U,V, W) SMC_EXTENDEDVELOCITYC 产生的速度加速度和减速的值不超过 SMC_GEOINFO 变量 HECKS (adVelAddAx[0..6], adAccAddAx[0..6] and adDecAddAx[0..6]) 的设置值。 SMC_INTERPOLATOR 这个功能块用来把由 SMC_GEOINFO 对象描述的一个连续轨迹转 化为离散轨迹位置点,这些点考虑到了速度分布图和时间图。 SMC_INTERPOLATOR2DIR 从函数以及输入输出的配置看,该模块相当于功能块 SMC_Interpolator,但是它还能够反向地插补一个轨迹。 SMC_INTERPOLATOR2DIR_ 该模块负责产生反向轨迹。它被从 SMC_Interpolator2Dir 中分割 SLOWTASK 出来,这样它就能在完全拉伸的低性能系统中被封装给一个低优先 级任务。 该模块用于减小轨迹的速度、加减速度,以使附加轴(Z, P, Q, U, SMC_LIMITDYNAMICS V, W)的速度、加减速值不超过 FB 的输入值 dMaxVel, dMaxAcc 和 dMaxDec。 SMC_LIMITCIRCULARVELOC 该模块检查 OutQueue 中的特定元素并限制圆形元素沿其半径反 ITY 方向的轨迹速度。 SMC_NCDECODER 该模块用来将一个在 CNC 编辑器中被创建的 CNC 程序(DIN 180
CTH300-C 系列运动控制器系统手册 6625,G 代码)转化为 SoftMotion-GEOINFO 结构对象的表。在 每次循环中程序里的一行将被解码。 SMC_ROUNDPATH SMC_ROUNDPATH 功能块与 SMC_SmoothPath 模块十分相象。 它由两线相交圆整截得的圆弧的角度。 SMC_SmoothPath 功能块可用于轨迹预处理。它可使轨迹尖角 SMC_SMOOTHPATH (path angles)变得圆滑,从而生成一个圆滑的轨迹(slur path)。 它用于对轨迹的精度要求不高,而对速度要求较高,且不允许速度 降到 0 的情况。 SMC_TOOLCORR The SMC_ToolCorr 用于路径预处理。 该SMC_XInterpolator功能块实现了CAM和CNC的混合。假设你想 SMC_XINTERPOLATOR 把一个工件切一个特定的形状(由G代码描述),根据工件由另一 个进程的移动(例如,沿X轴移动)和其他的轴(y,z等)应当按 照工件(X)当前位置控制,并且目标由路径要点给出。 SMC_GETMPARAMETERS 插补器正处理一个 M 函数,该模块用来轮询已为该 M 函数设置的 参数(K,L,O,见 HERE)。 SMC_PREACKNOWLEDGEM 它用来在插补器到达该模块之前确认一个 M 函数。这样在 M 函数 FUNCTIONS 上的停顿就能够避免了。 ● SM_Trafo_POUs\\Additional FBs 文件夹内 指令名称 功能 SMC_CALCDIRECTIONFRO 使用它时工具的方向(dAlpha)可被计算。 MVECTOR ● SM_Trafo_POUs\\Gantry Systems 文件夹内 指令名称 功能 SMC_TRAFO_GANTRY2 对于龙门系统不能进行变换,因此模块只能给 x,y 轴加上偏移量。 SMC_TRAFO_GANTRY2TOO 功能块用来反求龙门系统的刀具轴向偏置,也就是相对 Z 轴的轴向 L1 偏置,它们近似在一条直线上。 SMC_TRAFO_GANTRY2TOO 功能块用来反求龙门系统的刀具轴向偏置,也就是相对 Z 轴的轴向 L2 偏置,它们近似成直角。 SMC_TRAFO_GANTRY3 对于龙门系统不能进行变换,因此模块只能给 x,y,z 轴加上偏移量。 SMC_TRAFO_GANTRYCUTT 为一个正在被控制并指出沿着路径切线旋转轴的三维龙门系统计 181
附录 ER2 算一个逆向变换。 SMC_TRAFO_GANTRYCUTT 为一个正在被控制并指出沿着路径切线旋转轴的三维龙门系统计 ER3 算一个逆向变换。 SMC_TRAFO_GANTRYH2 这个转变模块用来提供解决有着固定的驱动器的H龙门系统的反向 转变。 功能模块用来操作一个没有动作的三维龙门操作系统,因此,该模 SMC_TRAFOF_GANTRY2 块仅在X,Y轴各自增加了一个偏移。每一个 SMC_TRAFOF_GANTRY2模块的实例都能与一个命名为 SMC_VISU_GANTRY2的可视化模板相连接。 SMC_TRAFOF_GANTRY2TO 功能块用来反求龙门系统的刀具轴向偏置,也就是相对 Z 轴的轴向 OL1 偏置,它们近似在一条直线上。 SMC_TRAFOF_GANTRY2TO 功能块用来反求龙门系统的刀具轴向偏置,也就是相对 Z 轴的轴向 OL2 偏置,它们近似成直角。 功能模块用来操作一个没有动作的三维龙门操作系统,因此,该模 SMC_TRAFOF_GANTRY3 块仅在X,Y,Z轴各自增加了一个偏移。每一个 SMC_TRAFOF_GANTRY3模块的实例都能与一个命名为 SMC_VISU_GANTRY3的可视化模板相连接。 SMC_TRAFOF_GANTRYCUT 该模块将解决有着指向沿着切线方向的旋转轴的三维龙门系统的 TER2 前向转变。 SMC_TRAFOF_GANTRYCUT 它将解决指向当前轨迹的切线方向的旋转轴的三维龙门系统的前 TER3 向转变。 SMC_TRAFOF_GANTRYH2 这个转变模块用来提供解决有着固定的驱动器的H龙门系统的前向 转变。 SMC_TRAFOV_GANTRY2 反向转换模块被用来提供处理考虑轨迹速度轨迹方向作为轴的控 制变量的二维龙门系统。 SMC_TRAFOV_GANTRY3 反向转换模块被用来提供处理考虑轨迹速度轨迹方向作为轴的控 制变量的三维龙门系统。 SMC_TRAFOV_GANTRYCUT 反向转换模块被用来处理考虑轨迹速度轨迹方向作为轴的控制变 TER2 量的二维龙门系统。 SMC_TRAFOV_GANTRYCUT 反向转换模块被用来提供处理考虑轨迹速度轨迹方向作为轴的控 TER3 制变量的三维龙门系统。 SMC_TRAFOV_GANTRYH2 反向转换模块被用来提供处理考虑轨迹速度轨迹方向作为轴的控 182
CTH300-C 系列运动控制器系统手册 制变量的二维 H 龙门系统。 ● SM_Trafo_POUs\\Parallel Systems 文件夹内 指令名称 功能 SMC_TRAFO_BIPOD_ARM 转换模块用来提供处理双脚架臂的后向转换。 SMC_TRAFO_TRIPOD 转换模块用来提供处理三脚架的后向转换。 SMC_TRAFO_TRIPOD_ARM 转换模块用来提供处理三脚架臂的后向转换。 SMC_TRAFOF_BIPOD_ARM 转换模块用来提供处理双脚架臂的前向转换。 SMC_TRAFOF_TRIPOD 转换模块用来提供处理三脚架的前向转换。 SMC_TRAFOF_TRIPOD_ARM 转换模块用来提供处理三脚架臂的前向转换。 ● SM_Trafo_POUs\\Scara Systems 文件夹内 指令名称 功能 SMC_TRAFO_SCARA2 转换模块用来提供处理第二关节 Scara 系统的后向转换。 SMC_TRAFO_SCARA3 转换模块用来提供处理第三关节 Scara 系统的后向转换。 SMC_TRAFOF_SCARA2 转换模块用来提供处理第二关节 Scara 系统的前向转换。 SMC_TRAFOF_SCARA3 转换模块用来提供处理第三关节 Scara 系统的前向转换。 183
附录 I 订货信息 表 I-1 订货信息一览表 规格描述 订货号 C35-00 运动控制器 CTH300-C 系列运动控制型 CPU,32MB 程序数据空间,32KB 掉电保持数据, 55M 扩展总线; 1 个自由通信接口, CTH3 C35-000S1 2 个 EtherCAT 接口, 1 个 EtherNET 接口, 1 个 USB 口。 C36-00 运动控制器 CTH300-C 系列运动控制型 CPU,32MB 程序数据空间,32KB 掉电保持数据, 55M 扩展总线; 1 个自由通信接口, 2 个 EtherCAT 接口, CTH3 C36-000S1 1 个 EtherNET 接口, 1 个 USB 口, 支持 SoftMotion。 C37-00 运动控制器 CTH300-C 系列运动控制型 CPU,32MB 程序数据空间,32KB 掉电保持数据, 55M 扩展总线; 1 个自由通信接口, 2 个 EtherCAT 接口, CTH3 C37-000S1 1 个 EtherNET 接口, 1 个 USB 口, 支持 SoftMotion,CNC。 184
CTH300-C 系列运动控制器系统手册 规格描述 订货号 C35-01 运动控制器 CTH300-C 系列运动控制型 CPU,32MB 程序数据空间,64KB 掉电保持数据, 55M 扩展总线; 1 个自由通信接口, 1 个 EtherCAT 接口, CTH3 C35-001S2 1 个 EtherNET 接口, 1 个 CANopen 口, 1 个 USB 口,支持 CODESYS 编程平台 SP4 版本。 C36-01 运动控制器 CTH300-C 系列运动控制型 CPU,32MB 程序数据空间,64KB 掉电保持数据, 55M 扩展总线; 1 个自由通信接口, 1 个 EtherCAT 接口, CTH3 C36-001S2 1 个 EtherNET 接口, 1 个 CANopen 口, 1 个 USB 口, 支持 SoftMotion,支持 CODESYS 编程平台 SP4 版本。 C36-02 运动控制器 32MB 程序数据空间,64KB 掉电保持数据,55M 扩展总线, 2 个 RS485 通讯口,MODBUS 自由口协议, 1 个 EtherCAT/EtherNET 接口, 1 个 EtherNET 接口, CTH3 C36-002S2 1 个 CAN 口, 1 个 USB 口, 支持 SoftMotion,支持 CODESYS 编程平台 SP11 版本。 185
附录 规格描述 订货号 C37-01 运动控制器 CTH300-C 系列运动控制型 CPU,32MB 程序数据空间,64KB 掉电保持数据, 55M 扩展总线; 1 个自由通信接口, 1 个 EtherCAT 接口, CTH3 C37-001S2 1 个 EtherNET 接口, 1 个 CANopen 口, 1 个 USB 口, 支持 SoftMotion,CNC。支持 CODESYS 编程平台 SP4 版本。 C37-02 运动控制器 CTH300-C 系列运动控制型 CPU,32MB 程序数据空间,120KB 掉电保持数 据,55M 扩展总线, 1 个 RS485 通讯口(MODBUS 自由口协议), 1 个 EtherCAT 接口, 1 个 EtherNET 接口, CTH3 C37-002S2 1 个 CAN 口, 1 个 USB 口, 支持单轴运动控制,插补,电子齿轮和电子凸轮等 SoftMotion 指令集功能和 CNC 功能,支持 CODESYS 编程平台 SP11 版本。 电源模块 PWR-02 电源模块,输入 85~264V AC,输出 24V DC/2A CTH3 PWR-020S1 中继模块 INT-00 中继模块 CTH3 INT-000S1 高速计数模块 HSC-02高速计数模块,2路差分/单端信号输入 CTH3 HSC-020S1 脉冲输出模块 HSP-04脉冲输出模块,4路差分/单端信号输出 CTH3 HSP-040S1 CAN 主站模块(C3X-00 系列支持) CTH3 CAN-1T0S1 CAN-1T 主站模块,CANopen 主站通信模块,1 个 CAN 通信口 EtherCAT 从站模块 186
CTH300-C 系列运动控制器系统手册 CTH3 ECT-000S1 EtherCAT 从站模块,最多可挂接8个扩展模块 187
附录 规格描述 订货号 数字量模块 DIT-08 数字量模块,数字量输入,8 x 24VDC CTH3 DIT-080S1 DIT-16 数字量模块,数字量输入,16 x 24VDC CTH3 DIT-160S1 DIT-32 数字量模块,数字量输入,32 x 24VDC CTH3 DIT-320S1 DQT-08 数字模块,数字量输出,8 x 24VDC CTH3 DQT-080S1 DQT-16 数字量模块,数字量输出,16 x 24VDC CTH3 DQT-160S1 DQT-32 数字量模块,数字量输出,32 x 24VDC CTH3 DQT-320S1 DQR-08 数字量模块,数字量输出,8 x 继电器 CTH3 DQR-080S1 DQR-16 数字量模块,数字量输出,16 x 继电器 CTH3 DQR-160S1 模拟量模块 AIS-04 模拟量模块,模拟量电压电流输入,4AI x 12bit CTH3 AIS-040S1 AMS-06 模拟量模块,模拟量电压电流输入输出,4AI x 12bit,2AQ x 12bit CTH3 AMS-060S1 AIV-08 模拟量模块,模拟量电压输入,8AI x 16bit CTH3 AIV-080S1 AIC-08 模拟量模块,模拟量电流输入,8AI x 16bit CTH3 AIC-080S1 AQS-04 模拟量模块,模拟量电压电流输出,4AQ x 12bit CTH3 AQS-040S1 AQS-08 模拟量模块,模拟量电压电流输出,8AQ x 12bit CTH3 AQS-080S1 温度模块 AIT-04 温度模块,热电偶输入模块,4 点*TC,隔离型 16bit 精度 CTH3 AIT-040S1 AIT-08 温度模块,热电偶输入模块,8 点*TC,隔离型 16bit 精度 CTH3 AIT-080S1 AIR-04 温度模块,热电阻输入模块,4 点*RTD,隔离型 16bit 精度 CTH3 AIR-040S1 AIR-08 温度模块,热电阻输入模块,8 点*RTD,隔离型 16bit 精度 CTH3 AIR-080S1 188
深圳市合信自动化技术有限公司 官方微信公众号 深圳市南山区国际创新谷 6 栋 A 座 9 层 0755-86226822 sales@co-trust.com www.co-trust.com




