合信论坛

快捷导航
查看: 2300|回复: 1

io通道自定义映射库,修改‘输入输出变量’对应‘物理io’

[复制链接]
回帖奖励 10 金钱 回复本帖可获得 1 金钱奖励! 每人限 1 次(中奖概率 70%)

29

主题

32

帖子

1084

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1084
QQ
发表于 2023-8-4 17:32:46 | 显示全部楼层 |阅读模式
io_switch v1_0.ctmwl (15.16 KB, 下载次数: 122) (库文件)
io通道自定义映射库.pdf (1.07 MB, 下载次数: 141) (说明文档)
简单例程.rar (181.38 KB, 下载次数: 118) (简单例程)

日常使用中偶尔会出现某个输出/输入点因某些原因需要定义到别的点位,而程序也因为各种原因需要修改使用的输入输出点
本例程可用于程序提前布置好映射环境后,在后期维护中通过触摸屏 / 上位机修改偏移量来达成无需修改程序即可改动对应输入/输出点的目的。
简单来说:在不需要改动程序的前提下修改程序io对应的物理io
pou符号.png
内集成了数字量、模拟量输入输出的自定义目标寄存器功能:

使用时只需在程序调用通过中间变量映射即可,其中后缀带 ‘_PLUS’ 系列功能块多一个引脚可自定义偏移量为0时指向的位/字,不限制于I、Q、AI、AQ,可指向V、M等能获取到指针的寄存器。

DI_switch:数字量输入自定义点功能块
DISW.png
  
引脚名称
  
引脚类型
数据类型
注释
DI_Offset
IN
Word
偏移量,基于I0.0为0,I0.1为1……I1.0为8,按位计算
DI_OUT
OUT
BOOL
偏移量指向点的当前状态

调用后会将 ‘DI_Offset’ 偏移量指定的DI输入状态每周期更新到 ‘DI_OUT’ 中,用户使用时直接将 ‘DI_OUT’ 作为输入在程序中应用。

偏移量规则:
DI_Offset = [实际I点字节数]*8 + 位数
例如: ‘I3.6’ = 3*8 + 6 = 30。

DI_switch_PLUS:数字量输入自定义点功能块,自定义起始点
DISWP.png
  
引脚名称
  
引脚类型
数据类型
注释
DI_Offset
IN
Word
偏移量,基于 ‘Initial_Void’ 的bit0为0,
  
‘Initial_Void’  的bit1为1 ……
  
‘Initial_Void’ + 1字节的bit0为8,按位计算
Initial_Void
IN
Dowrd
  
(指针)
指向起始地址的指针,偏移量为0时的指向寄存器
  
以字节为单位。
DI_OUT
OUT
BOOL
偏移量指向点的当前状态

偏移量规则:
DI_Offset = ([实际I点字节数]-‘Initial_Void’字节数)*8 + 位数

例如(Initial_Void = &IB1): ‘I3.6’ = (3-1)*8 + 6 = 22。

DQ_switch:数字量输出自定义点功能块
DQSW.png
  
引脚名称
  
引脚类型
数据类型
注释
DQ _Offset
IN
Word
偏移量,Q0.0为0,Q0.1为1 …… Q1.0为8,按位计算
DQ _OUT
IN
BOOL
要输出到偏移量指向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:数字量输出自定义点功能块,自定义起始点
DQSWP.png
  
引脚名称
  
引脚类型
数据类型
注释
DQ _Offset
IN
Word
偏移量,基于 ‘Initial_Void’ 的bit0为0,
  
‘Initial_Void’  的bit1为1 ……
  
‘Initial_Void’ +  1字节的bit0为8,按位计算
Initial_Void
IN
Dowrd
  
(指针)
指向起始地址的指针,偏移量为0时的指向寄存器
  
以字节为单位。
DQ _OUT
IN
BOOL
要输出到偏移量指向Q点的状态,为0时指定Q点断开,为1时指定Q点接通。

偏移量规则:
DI_Offset = ([实际Q点字节数]-‘Initial_Void’字节数)*8 + 位数
例如(Initial_Void = &QB1): ‘Q3.6’ = (3-1)*8 + 6 = 22。

AI_switch:模拟量输入自定义点功能块
AISW.png
  
引脚名称
  
引脚类型
数据类型
注释
AI_Offset
IN
Word
偏移量,基于AIW0为0,AIW2为1……AIW10为5,按字计算
AI_OUT
OUT
Word
偏移量指向AIW的当前状态

调用后会将 ‘AI_Offset’ 偏移量指定的AIW输入数值每周期更新到 ‘AI_OUT’ 中,用户使用时直接将 ‘AI_OUT’ 作为模拟量输入在程序中应用。

偏移量规则:
AI_Offset = [实际用的aiw]/ 2
例如: ‘AIW24’ = 24/2 = 12。

AI_switch_PLUS:模拟量输入自定义点功能块,自定义起始点
AISWP.png
  
引脚名称
  
引脚类型
数据类型
注释
AI_Offset
IN
Word
偏移量,基于 ‘Initial_Void’ 指定寄存器为0,
  
‘Initial_Void’  的下一个字为1,按字计算
Initial_Void
IN
Dowrd
  
(指针)
指向起始地址的指针,偏移量为0时的指向寄存器
  
以字节为单位。
AI_OUT
OUT
Word
偏移量指向AIW的当前状态

偏移量规则:
AI_Offset = ([实际AIW]-‘Initial_Void’)/ 2
例如(Initial_Void = &AIW6): ‘AIW24’ = (24 – 6)/2 = 9。

AQ_switch:模拟量输出自定义点功能块
AQSW.png
  
引脚名称
  
引脚类型
数据类型
注释
AQ_Offset
IN
Word
偏移量,基于AQW0为0,AQW2为1……AQW10为5,按字计算
AQ_IN
IN
Word
要输出到偏移量指向AQW的数值

调用后会将 ‘AQ_IN’ 的数值输出到 ‘AQ_Offset’ 偏移量指定的AQW中,用户使用时直接将 ‘AQ_IN’ 作为模拟量输出在程序中应用。
程序只修改当前 ‘ AQ_Offset ’ 指定的寄存器,修改偏移量时原先偏移量指定的寄存器将保持最后状态直到下一次掉电上电或 重新绑定到某偏移量 或 者通过替他方式修改该寄存器状态为止。

偏移量规则:
AQ_Offset = [实际用的AQW]/ 2
例如: ‘AQW24’ = 24/2 = 12。

AQ_switch_PLUS:模拟量输出自定义点功能块,自定义起始点
AQSWP.png
  
引脚名称
  
引脚类型
数据类型
注释
AQ_Offset
IN
Word
偏移量,基于AQW0为0,AQW2为1……AQW10为5,按字计算
Initial_Void
IN
Dowrd
  
(指针)
指向起始地址的指针,偏移量为0时的指向寄存器
  
以字节为单位。
AQ_IN
IN
Word
要输出到偏移量指向AQW的数值

偏移量规则:
AQ_Offset = ([实际AQW]-‘Initial_Void’)/ 2
例如(Initial_Void = &AQW6): ‘AIW24’ = (24 – 6)/2 = 9。


简单应用例程
  
输入
  
输出
启动
I0.0
电机正转
Q0.0
停止
I0.1
电机反转
Q1.1
急停
I0.2


左限
I1.0


右限
I1.1


程序搭建:
例程输入映射.png
(输入映射) 例程输出映射.png
(输出映射)

简单应用:
启动后电机在限位内往复运动,停止则运动到限位后停止,急停立即停止

例程简单应用.png

触摸屏搭建:
例程触摸屏变量.png
(变量建立)
例程画面组态.png
(画面组态)
8号i点接通,左限位.png
编号8io接通,映射到PLC中用于左限位
将左限改到1号点.png
模拟出现io损坏,将左限修改到1号点
多个配置不互相影响.png
多个io配置、触发不互相影响


简单应用例程
DI 与 DQ的自定义
di.png
LD SM0.0
CALL DI_switch, VW2000, M20.0
CALL DQ_switch, VW2002, M20.0
该例程检查实际的 I点状态并实时输出到对应Q点


AI 与 AQ 的自定义
ai到aq.png

LD SM0.0
CALL AI_switch:FC2, VW2000, MW20
CALL AQ_switch:FC3, VW2002, MW20
该例程检查实际的 AIW 寄存器并输出到对应 AQW 中


3

主题

4

帖子

401

积分

中级会员

Rank: 3Rank: 3

积分
401
发表于 2023-8-4 18:01:14 | 显示全部楼层
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

客服热线
400-700-4858 周一至周五:09:00 - 18:00
深圳市南山区打石一路深圳国际创新谷6栋A座9层

深圳市合信自动化技术有限公司(简称“合信技术”)成立于2003年,高新技术企业,专注于工业自动化产品的研发、生产、销售和技术服务,依靠高质量、高性能的自动化控制产品与方案为客户创造最大价值,立志于成为全球领先的工业自动化解决方案供应商。

Archiver|手机版|小黑屋|COTRUST Inc. ( 粤ICP备13051915号 )

GMT+8, 2024-4-28 13:37 , Processed in 0.105952 second(s), 25 queries .

快速回复 返回顶部 返回列表