首页 上一页 1 2 下一页 尾页

威纶通宏指令控制PLC点位断电保持 点击:6779 | 回复:22



DOOM

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 3回
  • 年度积分:0
  • 历史总积分:13
  • 注册:2015年3月05日
发表于:2015-04-03 10:01:51
楼主

威纶通宏指令控制PLC点位断电保持

触摸屏:TK6070iP  PLC:欧姆龙CP系列

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

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

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

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

  

 

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

 

 

 

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

 

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

 

5:宏指令

[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存放至机器的内部存储器)





小弟我接触威纶通的触摸屏只有一周时间,为了实现这个指令功能花了两天,如有不对的地方还请各位前辈指教









wdswssss

  • 精华:0帖
  • 求助:1帖
  • 帖子:7帖 | 244回
  • 年度积分:0
  • 历史总积分:806
  • 注册:2012年10月10日
发表于:2019-12-29 01:03:00
21楼

太牛叉了,大神!!!谢谢分享

朕的工控

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 75回
  • 年度积分:14
  • 历史总积分:165
  • 注册:2018年1月08日
发表于:2020-11-16 08:40:39
22楼

学习一下,谢谢楼主分享


热门招聘
相关主题

官方公众号

智造工程师
    首页 上一页 1 2 下一页 尾页