PLC顺序控制(流程可变) 点击:1091 | 回复:9



QYL

    
  • 精华:0帖
  • 求助:2帖
  • 帖子:4帖 | 88回
  • 年度积分:0
  • 历史总积分:329
  • 注册:2016年5月17日
发表于:2018-12-10 10:56:05
楼主

举个例。我现在有多个指示灯(Q0.0^Q0.7)输出,我新建立变量ARRAY[0..7] of int 与其一一对应,我需要完成的是,根据ARRAY[0..7]的值的大小按顺序输出这几个灯。有什么简单可靠的办法?请各位老师指点




  • 精华:2帖
  • 求助:45帖
  • 帖子:49帖 | 545回
  • 年度积分:0
  • 历史总积分:10298
  • 注册:2018年9月14日
发表于:2018-12-10 11:32:28
1楼

for next,西门子的我不清楚,下面是用信捷PLC做的

随便看看吧.PNG

QYL

  • 精华:0帖
  • 求助:2帖
  • 帖子:4帖 | 88回
  • 年度积分:0
  • 历史总积分:329
  • 注册:2016年5月17日
发表于:2018-12-10 12:42:43
2楼



回复内容:

对: 启 for next,西门子的我不清楚,下面是用信捷PLC做的 内容的回复!

-------------------------

首先谢谢您的回答

西门子应该也有这个指令,我先研究研究。

再请教下信捷的for next能实现10个输出的任意排序吗?

比如:我第一次ARRAY[0..7]数据一次是1,2,3,4,5,6,7,8那么输出顺序就是Q0.0,Q0.1,Q0.2.....Q0.7,当我在上位机将ARRAY[0..7]数据改成3,2,1,4,5,6,7,8那么输出顺序是Q0.3,Q0.2,Q0.1,Q0.4....Q0.7。

实际上比这个复杂得多,这里Q0.X实际上是调用一个子程序

dpyftk

  • 精华:0帖
  • 求助:0帖
  • 帖子:6帖 | 91回
  • 年度积分:0
  • 历史总积分:311
  • 注册:2009年4月04日
发表于:2018-12-10 13:09:23
3楼

利用位变量,只需改变一个变量的值即可

请叫我王老湿

  • [版主]
  • 精华:0帖
  • 求助:0帖
  • 帖子:622帖 | 8531回
  • 年度积分:91
  • 历史总积分:332562
  • 注册:2011年4月25日
发表于:2018-12-11 13:38:37
4楼

你可以直接采用位的方式即可,比如QB0对应8个数据位Q0.0-Q0.7,比如数值1输入QB0,Q0.0为1,数值为2,Q0.1为1,依次往后推(8421编码方式)

编程控制

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 5回
  • 年度积分:0
  • 历史总积分:217
  • 注册:2018年12月08日
发表于:2018-12-11 14:27:19
5楼

学习....学习.... !谢谢

qunli17

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 102回
  • 年度积分:0
  • 历史总积分:101
  • 注册:2018年3月20日
发表于:2018-12-12 11:30:53
6楼

来学习 的路过

和和和

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 57回
  • 年度积分:0
  • 历史总积分:429
  • 注册:2018年12月09日
发表于:2018-12-12 23:43:00
7楼

学习了我的楼主。

QYL

  • 精华:0帖
  • 求助:2帖
  • 帖子:4帖 | 88回
  • 年度积分:0
  • 历史总积分:329
  • 注册:2016年5月17日
发表于:2018-12-18 15:02:29
8楼

这个问题暂时性的解决了。谢谢大家image.png

SJB831129

  • 精华:0帖
  • 求助:1帖
  • 帖子:2帖 | 56回
  • 年度积分:0
  • 历史总积分:155
  • 注册:2011年11月21日
发表于:2019-02-18 11:32:20
9楼


引用 编程控制 的回复内容: 学习....学习.... !谢谢

-------------------------



热门招聘
相关主题

官方公众号

智造工程师