io通道自定义映射库.pdf
(1.07 MB, 下载次数: 2455)
(说明文档)
简单例程.rar
(181.38 KB, 下载次数: 2321)
(简单例程)
日常使用中偶尔会出现某个输出/输入点因某些原因需要定义到别的点位,而程序也因为各种原因需要修改使用的输入输出点, 本例程可用于程序提前布置好映射环境后,在后期维护中通过触摸屏 / 上位机修改偏移量来达成无需修改程序即可改动对应输入/输出点的目的。 简单来说:在不需要改动程序的前提下修改程序io对应的物理io
内集成了数字量、模拟量输入输出的自定义目标寄存器功能:
使用时只需在程序调用通过中间变量映射即可,其中后缀带 ‘_PLUS’ 系列功能块多一个引脚可自定义偏移量为0时指向的位/字,不限制于I、Q、AI、AQ,可指向V、M等能获取到指针的寄存器。
DI_switch:数字量输入自定义点功能块 引脚名称 | | | | | | | 偏移量,基于I0.0为0,I0.1为1……I1.0为8,按位计算 | | | | |
调用后会将 ‘DI_Offset’ 偏移量指定的DI输入状态每周期更新到 ‘DI_OUT’ 中,用户使用时直接将 ‘DI_OUT’ 作为输入在程序中应用。
偏移量规则: DI_Offset = [实际I点字节数]*8 + 位数 例如: ‘I3.6’ = 3*8 + 6 = 30。
DI_switch_PLUS:数字量输入自定义点功能块,自定义起始点 引脚名称 | | | | | | | 偏移量,基于 ‘Initial_Void’ 的bit0为0, ‘Initial_Void’ 的bit1为1 …… ‘Initial_Void’ + 1字节的bit0为8,按位计算 | | | | 指向起始地址的指针,偏移量为0时的指向寄存器 以字节为单位。 | | | | |
偏移量规则: DI_Offset = ([实际I点字节数]-‘Initial_Void’字节数)*8 + 位数
例如(Initial_Void = &IB1): ‘I3.6’ = (3-1)*8 + 6 = 22。
DQ_switch:数字量输出自定义点功能块 引脚名称 | | | | | | | 偏移量,Q0.0为0,Q0.1为1 …… Q1.0为8,按位计算 | | | | 要输出到偏移量指向Q点的状态,为0时指定Q点断开,为1时指定Q点接通。 |
调用后会将 ‘DQ_IN’ 的状态更新到 ‘DQ_Offset’ 偏移量指定的DQ中,用户使用时直接控制 ‘DQ_IN’ 的状态。 程序只修改当前‘DQ_Offset’指定的Q点,修改偏移量时原先偏移量指定的Q点将保持最后状态直到下一次掉电上电或重新绑定到某偏移量或 者通过替他方式修改该位状态为止。
偏移量规则: DQ _Offset = [实际Q点字节数]*8 + 位数 例如: ‘Q3.6’ = 3*8 +6 = 30。
DQ _switch_PLUS:数字量输出自定义点功能块,自定义起始点 引脚名称 | | | | | | | 偏移量,基于 ‘Initial_Void’ 的bit0为0, ‘Initial_Void’ 的bit1为1 …… ‘Initial_Void’ + 1字节的bit0为8,按位计算 | | | | 指向起始地址的指针,偏移量为0时的指向寄存器 以字节为单位。 | | | | 要输出到偏移量指向Q点的状态,为0时指定Q点断开,为1时指定Q点接通。 |
偏移量规则: DI_Offset = ([实际Q点字节数]-‘Initial_Void’字节数)*8 + 位数 例如(Initial_Void = &QB1): ‘Q3.6’ = (3-1)*8 + 6 = 22。
AI_switch:模拟量输入自定义点功能块 引脚名称 | | | | | | | 偏移量,基于AIW0为0,AIW2为1……AIW10为5,按字计算 | | | | |
调用后会将 ‘AI_Offset’ 偏移量指定的AIW输入数值每周期更新到 ‘AI_OUT’ 中,用户使用时直接将 ‘AI_OUT’ 作为模拟量输入在程序中应用。
偏移量规则: AI_Offset = [实际用的aiw]/ 2 例如: ‘AIW24’ = 24/2 = 12。
AI_switch_PLUS:模拟量输入自定义点功能块,自定义起始点 引脚名称 | | | | | | | 偏移量,基于 ‘Initial_Void’ 指定寄存器为0, ‘Initial_Void’ 的下一个字为1,按字计算 | | | | 指向起始地址的指针,偏移量为0时的指向寄存器 以字节为单位。 | | | | |
偏移量规则: AI_Offset = ([实际AIW]-‘Initial_Void’)/ 2 例如(Initial_Void = &AIW6): ‘AIW24’ = (24 – 6)/2 = 9。
AQ_switch:模拟量输出自定义点功能块 引脚名称 | | | | | | | 偏移量,基于AQW0为0,AQW2为1……AQW10为5,按字计算 | | | | |
调用后会将 ‘AQ_IN’ 的数值输出到 ‘AQ_Offset’ 偏移量指定的AQW中,用户使用时直接将 ‘AQ_IN’ 作为模拟量输出在程序中应用。 程序只修改当前 ‘ AQ_Offset ’ 指定的寄存器,修改偏移量时原先偏移量指定的寄存器将保持最后状态直到下一次掉电上电或 重新绑定到某偏移量 或 者通过替他方式修改该寄存器状态为止。
偏移量规则: AQ_Offset = [实际用的AQW]/ 2 例如: ‘AQW24’ = 24/2 = 12。
AQ_switch_PLUS:模拟量输出自定义点功能块,自定义起始点 引脚名称 | | | | | | | 偏移量,基于AQW0为0,AQW2为1……AQW10为5,按字计算 | | | | 指向起始地址的指针,偏移量为0时的指向寄存器 以字节为单位。 | | | | |
偏移量规则: AQ_Offset = ([实际AQW]-‘Initial_Void’)/ 2 例如(Initial_Void = &AQW6): ‘AIW24’ = (24 – 6)/2 = 9。
(输入映射)
(输出映射)
简单应用: 启动后电机在限位内往复运动,停止则运动到限位后停止,急停立即停止
触摸屏搭建:
(变量建立)
(画面组态)
(编号8的io接通,映射到PLC中用于左限位)
(模拟出现io损坏,将左限修改到1号点)
(多个io配置、触发不互相影响)
简单应用例程 DI 与 DQ的自定义 LD SM0.0 CALL DI_switch, VW2000, M20.0 CALL DQ_switch, VW2002, M20.0 该例程检查实际的 I点状态并实时输出到对应Q点
AI 与 AQ 的自定义
LD SM0.0 CALL AI_switch:FC2, VW2000, MW20 CALL AQ_switch:FC3, VW2002, MW20 该例程检查实际的 AIW 寄存器并输出到对应 AQW 中
|