Python连接FactoryIO仿真控制练习(二)_第1页
Python连接FactoryIO仿真控制练习(二)_第2页
Python连接FactoryIO仿真控制练习(二)_第3页
Python连接FactoryIO仿真控制练习(二)_第4页
Python连接FactoryIO仿真控制练习(二)_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、PythonFactoryIO仿真控制练习()连接仿真控制练习()我想了下在PLC中通过SCL进定时器、计数器、脉冲检测等功能块的实现逻辑,重新进了功能实现。传送带控制加了延时停机定时器,当超出时间未检测到离开传送带末端传感器信号时,传送带停运。、定时器:参考在PLC中使SCL实现定义定时器的般逻辑,实现如下:self.et =0-self.cycle_time =self.end_time - self.start_timeif enable:if self.et 0 else 0self.timer_1.timing(self.counter_on_conveyor and not exi

2、t_signal, 30000)if self.timer_1.timer_on:return self.run_control五、主循环传送带超时时间设置为30s,当传送带末端传感器接通时,会复位定时器:当定时器到达定时时间,将强制停传送带运,并复位定时器,并等待下次的触发信号:if _name_ =_main_:master =mt.TcpMaster(host192.168.29.50) # host=192.168.29.50, port=502, timeout_in_sec=5.0master.set_timeout(5.0)InputBool =list(master.execu

3、te(255, md., 0, 4)output_coils_bool =master.execute(255, md.WRITE_MULTIPLE_COILS, 0, output_valueOutputBool)time.sleep(0.5)完整代码如下,使例程为FromAToB:import modbus_tk.modbus_tcp as mtimport modbus_tk.defines as mdimport tkinter as tkdef control(self, enter_signal, exit_signal):-self.counter_enter_value =se

4、lf.enter_counter.countering(enter_signal)self.counter_exit_value =self.exit_counter.countering(exit_signal)self.counter_on_conveyor =self.counter_enter_value - self.counter_exit_valueself.run_control =1 if self.counter_on_conveyor 0 else 0self.timer_1.timing(self.counter_on_conveyor and not exit_sig

5、nal, 30000)if self.timer_1.timer_on:class MyTimer:定时器def _init_(self, cycle, my_time): 以循环周期为时基self.et =0def timing(self, enable, pt):-self.end_time =int(time.perf_counter() *1000)self.cycle_time =self.end_time - self.start_timeif enable:if self.et pt:self.et +=self.cycle_timeself.timer_on =0else:se

6、lf.timer_on =1else:self.et =0self.timer_on =0self.start_time =int(time.perf_counter() *1000)self.clk =0-return str(self.counter_current_value)-if self.reset_counter_signal:self.counter_current_value =0self.reset_counter_signal =0return 0self.clk =clkelse:self.out =0if _name_ =_main_:master =mt.TcpMaster(host192.168.29.50) # host=192.168.29.50, port=502, timeout_in_sec=5.0master.set_timeout(5.0)InputBool =list(master.execute(255, md., 0, 4)conveyor_1_enter_signal =InputBool

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论