PLC论坛-全力打造可编程控制器专业技术论坛

 找回密码
 注册哦

QQ登录

只需一步,快速开始

微信扫码登录

查看: 13176|回复: 0

威纶通宏指令控制PLC程序两份案例,拿走不谢!

[复制链接]
发表于 2024-1-26 09:11:48 | 显示全部楼层 |阅读模式


三菱PLC全系列资料免费送啦!想要撩我

(点击上方红字,免费领资料)

第一个案例:威纶通宏指令控制PLC点位断电保持的案例

触摸屏是TK6070iP ,PLC是欧姆龙CP系列

需要达到的目的:触摸屏上的按钮按下时,同时控制PLC上的点动作

EB8000提供了可以掉电保存的寄存器RW和RW_A两种寄存器来实现配方的保存和传送。在此选择了保持寄存器的位地址为RW_Bit 2(具体地址可以自主选择,只要选择的寄存器可以断电保持的就可以);

威纶通的触摸屏无法直接通过屏幕上的按钮控制PLC的实际输入点,需要通过中间变量点(非PLC的实际输入点)来实现控制,在此选择中间变量点CIO_Bit 19.10

一、在屏幕新建一个“位状态切换开关”元件,各设置如下



二、为了在测试时便于观察,可以在屏幕上新建两个位状态指示灯







三、因为断电保持的是RW_Bit 2的数据,而CIO_Bit 19.10不能保持,所以需要另外一个宏指令上电时读取RW_Bit 2的数据,并且写入CIO_Bit 19.10。新建一个“位状态设置”元件。(要把此元件放在触摸屏上电开机之后的第一页面中)



这里的位地址不一定要用RW_Bit只要不和其他数据地址冲突就可以使用。

四、宏指令

[ID:000] Macro_0

macro_command main()

bool d

GetData(d, 'Local HMI', RW_Bit, 2, 1)

if d==1 then

SetData(d, 'OMRON CJ/CS/CP', CIO_Bit, 19.10, 1)

else if d==0 then

SetData(d, 'OMRON CJ/CS/CP', CIO_Bit, 19.10, 1)

end if

end macro_command

[ID:002] Macro_2

macro_command main()

bool e,f,h

h=1

GetData(e, 'Local HMI', RW_Bit, 2, 1)

if e==1 then

f=0

SetData(f, 'OMRON CJ/CS/CP', CIO_Bit, 19.10, 1)

else if e==0 then

f=1

SetData(f, 'OMRON CJ/CS/CP', CIO_Bit, 19.10, 1)

end if

SetData(h, 'Local HMI', LB, 9029, 1)

end macro_command

在宏指令macro_2中使用的SetData(h, 'Local HMI', LB, 9029, 1),是为了让数据能够实时的保存,而不用等待1分钟(MT8000会每隔1分钟将配方数据RW或RW_A存放至机器的内部存储器)

第二个案例:威纶通触摸屏宏指令举例:加法运算

一、在10号窗口,放三个数值原件地址分别为LW0,LW1,LW2,格式选择为16位无符号



二、在宏指令窗口建立加法的算法,其中//为其加的注释



运行效果如图



说明:触发宏指令的条件有多种,本文试举三种:功能键触发、位状态原件触发、PLC触发



End

文章来源:个人图书馆360DOC.COM。

免责声明:本文系网络转载,版权归原作者所有。但因转载众多,无法确认真正原始作者,故仅标明转载来源。本文所用视频、图片、文字如涉及作品版权问题,请第一时间告知,我们将根据您提供的证明材料确认版权并按国家标准支付稿酬或立即删除内容!本文内容为原作者观点,并不代表本公众号赞同其观点和对其真实性负责。



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册哦

本版积分规则

QQ|小黑屋|手机版|Archiver|PLC技术网-PLC论坛 ( 粤ICP备17165530号 )|网站地图

GMT+8, 2024-9-17 04:35 , Processed in 0.046766 second(s), 26 queries .

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