本次参加活动意在交流学习。对于本次活动的功能要求理解有不到位的地方,望朋友们多多指正。
一:硬件选型
我选的是博途V20的软件,PLC是CPU 1214C(S7-1200G2系列,6ES7 214-1AH50-0XB0),两个DQ8 信号板(6ES7 222-5BF50-0XB0),一个模块SM 1223 (6ES7 223-5BH50-0XB0)。这种配置不算很高,尽量兼顾经济型,而且性能上非常富余。

电气图纸



二:软件编程
1;三种模式的实现是通过选择开关,这里做了简单处理便于下面操作

建立一个名为Para的DB块,DB块中包含一些输出Q点的映射变量等

2:以下是部分Q点输出的程序截取



3,以下禁用模式程序:

4:以下是测试模式
测试模式开启
主持人按下启动按钮

测试模式下,各个工位抢答按钮按下,工位的绿灯红灯同时亮,这里只截取两个工位


以下是测试模式下,按下复位按钮,

测试模式可以重新启用

非测试模式时,此测试模式程序清零

5:以下是抢答模式
抢答模式开启

主持人按下启动按钮,准备进入抢答模式。。。。。。

抢答模式下,三盏灯依次亮起,间隔1秒

以下抢答程序写在OB30定时中断,周期为5ms,
1工位正确抢答,并且进入抢答启用;1工位抢答成功后,【"Para".抢答模式.State】赋值为10,则其它工位无法抢答。
【"SetUp".启用数量】是主持人可以在触摸屏设置参赛的工位总数,总数为2,则只有前两个工位参与,暂时不考虑随机抽取工位。

1工位抢答成功亮黄灯,此处黄灯的处理有待讨论,功能要求中不是很明确。此处还可以添加抢答成功后给1工位选手加分程序,因为计分规则未提及,所以暂时没有写计分程序,有待完善和各位网友讨论。

1工位提前抢答亮红灯,一旦提前抢答,本工位无法抢答,其余工位可以继续抢答,直到抢答成功。

以下是2工位的抢答程序,与1工位一致,2工位抢答成功后【"Para".抢答模式.State】赋值为20



3工位抢答成功后【"Para".抢答模式.State】赋值为30,4工位抢答成功后【"Para".抢答模式.State】赋值为40,以此类推。。。。。。。。。8工位抢答成功后【"Para".抢答模式.State】赋值为80.
抢答模式下,按复位按钮,则抢答重新开始

抢答模式下按了复位按钮,所有灯关闭

当所有灯关闭后100ms抢答模式归零,然后抢答模式可以重新启用

不是抢答模式时,抢答模式State清零
三:总结
1:抢答程序在定时中断程序中完成,避免抢答时由于PLC循环扫描周期影响比赛公平,而实际上此程序方法比较简单,测试下来看整个扫描周期基本不超过5ms,由此证明S7-1200G2的性能较前一代确实提升不少。当然了,毕竟功能上较实际抢答需求还有待完善。


2:抢答器抢答后计分规则不明确,所以暂时没有考虑,期待网友们的讨论。
3:这次测试发现博途V20的仿真挺好用,没有发现特别卡顿,也非常容易上手。监控表可以多个分类建立变量,监控起来非常实用。

4:关于抢答器计分显示和评分操作问题,我认为可以直接实用HMI,将HMI画面投射到显示器就可以。
5:评分可以由评委手动在触摸屏给分,也可以自动评分,抢答成功优先加分。
由于时间仓促还有工作要做,就写这么多了,望各位网友各位老师们指正,共同交流讨论。帖子的终点往往是交流的起点。