灯闪烁所模拟是PLC单方面向控件输出信号的过程,
控件也可以向模拟PLC输出信号。
做一个带反馈灯的按钮,被按下后点亮,再按一下熄灭,且使按钮自保需要一定的接触时间。
对应的PLC程序
- 需要一个脉冲发生器(假设地址为L602) 把按钮触点信号(假设地址为M0) 的导通情况转化为上升沿脉冲。
- 通过上升沿脉冲使一个内部自保位(假设地址为L1) 自保或解除自保。
- 则灯按钮的灯点亮信号(假设地址为M3)就是自保的结果。
模拟PLC的程序
- 创建一个通电延时脉冲器,把时间段设为三个时钟周期,用来自通信内存的对应地址输入信号触发。
- 创建一个模拟灯状态的位,收到脉冲反转,结果输出到通信内存的对应地址。
...
本地控件
- 之前设计的按钮本身就能够显示当前的点亮状态,不需要另外配置灯,一个按钮即可。
- 按钮接受点击的判断由容器统一获取,在主窗口里即可由鼠标点击事件触发,也可以在主循环里直接获取鼠标点击状态判断。如果能总结成一个方法就能更方便使用了:
boolean
- 新建一个按钮,给它设置好识别号,添加到容器里:
...
关联
- 把按钮是否被点击的状态写入通信内存的固定地址。
- 此后,通信内存的相应地址会被自动更新为处理结果,直接读取出来交给按钮显示即可。
...
https://github.com/keyboard2769/nb-kosui/releases/tag/v0.1.0.3github.com