QQ登录

只需一步,快速开始

威纶通过宏实现弹出小窗口操作相同数据

[ 复制链接 ]
例程效果如图。

威纶通过宏实现弹出小窗口操作相同数据

威纶通过宏实现弹出小窗口操作相同数据

点击不同的电磁阀会弹出一个相同的小窗口,
在小窗口上点击对应按钮可以控制当前选中电磁阀的开与关。
功能小巧,为一网友想实现的功能,让我有偿编写参考。
功能可以通过不同控件配合实现。
当前例程使用三个宏完成,内容如下
  1. macro_command main()
  2. short PopupWindowIndex=11
  3. SetData(PopupWindowIndex, "Local HMI", LW, 0, 1)//弹出开关窗口
  4. bool a=false
  5. SetData(a, "Local HMI", LB, 1000, 1)//此宏触发状态复位
  6. end macro_command
复制代码
  1. macro_command main()
  2. bool bBitActivate[16]={0}
  3. GetData(bBitActivate[0], "Local HMI", LB, 0, 16)//获取全部电磁阀开关状态
  4. short valveChoosed=0
  5. GetData(valveChoosed, "Local HMI", LW, 1, 1)//指示哪个电磁阀被选中
  6. if(1==valveChoosed) then
  7. bBitActivate[0]=true
  8. else if(2==valveChoosed) then
  9. bBitActivate[1]=true
  10. else if(3==valveChoosed) then
  11. bBitActivate[2]=true
  12. else if(4==valveChoosed) then
  13. bBitActivate[3]=true
  14. else if(5==valveChoosed) then
  15. bBitActivate[4]=true
  16. else if(6==valveChoosed) then
  17. bBitActivate[5]=true
  18. else if(7==valveChoosed) then
  19. bBitActivate[6]=true
  20. else if(8==valveChoosed) then
  21. bBitActivate[7]=true
  22. else if(9==valveChoosed) then
  23. bBitActivate[8]=true
  24. else if(10==valveChoosed) then
  25. bBitActivate[9]=true
  26. else if(11==valveChoosed) then
  27. bBitActivate[10]=true
  28. else if(12==valveChoosed) then
  29. bBitActivate[11]=true
  30. else if(13==valveChoosed) then
  31. bBitActivate[12]=true
  32. else if(14==valveChoosed) then
  33. bBitActivate[13]=true
  34. else if(15==valveChoosed) then
  35. bBitActivate[14]=true
  36. else if(16==valveChoosed) then
  37. bBitActivate[15]=true
  38. end if
  39. SetData(bBitActivate[0], "Local HMI", LB, 0, 16)//执行开关
  40. end macro_command
复制代码
  1. macro_command main()
  2. bool bBitActivate[16]={0}
  3. GetData(bBitActivate[0], "Local HMI", LB, 0, 16)//获取全部电磁阀开关状态
  4. short valveChoosed=0
  5. GetData(valveChoosed, "Local HMI", LW, 1, 1)//指示哪个电磁阀被选中
  6. if(1==valveChoosed) then
  7. bBitActivate[0]=false
  8. else if(2==valveChoosed) then
  9. bBitActivate[1]=false
  10. else if(3==valveChoosed) then
  11. bBitActivate[2]=false
  12. else if(4==valveChoosed) then
  13. bBitActivate[3]=false
  14. else if(5==valveChoosed) then
  15. bBitActivate[4]=false
  16. else if(6==valveChoosed) then
  17. bBitActivate[5]=false
  18. else if(7==valveChoosed) then
  19. bBitActivate[6]=false
  20. else if(8==valveChoosed) then
  21. bBitActivate[7]=false
  22. else if(9==valveChoosed) then
  23. bBitActivate[8]=false
  24. else if(10==valveChoosed) then
  25. bBitActivate[9]=false
  26. else if(11==valveChoosed) then
  27. bBitActivate[10]=false
  28. else if(12==valveChoosed) then
  29. bBitActivate[11]=false
  30. else if(13==valveChoosed) then
  31. bBitActivate[12]=false
  32. else if(14==valveChoosed) then
  33. bBitActivate[13]=false
  34. else if(15==valveChoosed) then
  35. bBitActivate[14]=false
  36. else if(16==valveChoosed) then
  37. bBitActivate[15]=false
  38. end if
  39. SetData(bBitActivate[0], "Local HMI", LB, 0, 16)//执行开关
  40. end macro_command
复制代码
具体可以下载例程模拟查看效果。
请点击此处下载

查看状态:需购买或无权限

您的用户组是:游客

文件名称:EBProject1.rar 
文件大小:1.37 MB 
下载权限: 捐助会员 以上或 VIP会员   [购买捐助会员]   [充值积分]   有问题联系我


回复

使用道具 举报

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