QQ登录

只需一步,快速开始

我有一个威纶通触摸屏,想让屏和PLC唯一匹配,用宏程序怎么实现

[ 复制链接 ]
PLC是CJ2系列的,我在其中的D37放置一个数字,然后在屏的内部寄存器放置一个数值,如果这两个数值不匹配,就对PLC的输出进行禁止,怎么写呢?



回答:
这个问题应该主算是问题吧,归根应该是你自己对威纶通的触摸屏宏指令不熟悉。
这样的话,建议认真写下宏指令的使用,很少内容,很快就上手的。
可以参考我录制的视频教程。


这里做一个回答,以触你燃眉之急。
这里我们可以假设你在PLC的D37存有数值250。
再假设触摸屏读取了D37数值,并与触摸屏内RW0做对比。
不一样则设置PLC的w0.0为ON,一样则设置为OFF.
这样PLC程序里就可以根据w0.0将全部输出点禁止输出。
LD W0.0,MOV K0 DY0.
由于PLC程序简单,欧姆龙PLC编程软件我就暂时不安装演示了。

这里我们看下问题主要关心的部分,威纶触摸屏编程软件里如何编写威纶代码。
威纶宏代码如下:
macro_command main()
bool b = true
//获取PLC与触摸屏两寄存器内数值并对比。
short nPLCValue=0,nHMIValue=0
GetData(nPLCValue, "OMRON CJ/CS/CP", D, 37, 1)
GetData(nHMIValue, "Local HMI", RW, 0, 1)
//根据对比结果设置PLC的W0.0位寄存器。
if(nHMIValue<>nPLCValue) then
b = true
SetData(b, "OMRON CJ/CS/CP", W_Bit, 0, 1)
else
b = false
SetData(b, "OMRON CJ/CS/CP", W_Bit, 0, 1)
end if
//让宏代码仅执行一次。
bool b = true
SetData(bON, "Local HMI", LB, 0, 1)
end macro_command

宏编辑界面里设置了宏执行条件,LB0为ON时禁止执行。
这样可以让宏仅有效执行一次。
界面如下:

我有一个威纶通触摸屏,想让屏和PLC唯一匹配,用宏程序怎么实现

我有一个威纶通触摸屏,想让屏和PLC唯一匹配,用宏程序怎么实现

宏是每隔3秒触发一次,当然可以根据自己程序设计来选择其他触发方式。
要参考例程,可以下载运行查看。
请点击此处下载

请先注册会员后在进行下载

已注册会员,请先登录后下载

文件名称:我有一个威纶通触摸屏,想让屏和PLC唯一匹配,用宏程序怎么实现.rar 
文件大小:334.96 KB  售价:1金币
下载权限: 不限 以上或 VIP会员   [购买捐助会员]   [充值积分]   有问题联系我


  

如果您认可,可联系功能定制!

  

如果您着急,充值会员可直接联系发您资料!

  

QQ联系我

微信扫扫联系我

  

功能很简单,就回答这么多。
回复

使用道具 举报

快速回复 返回列表 客服中心 搜索