前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python入门到放弃(十二) | Python在工控领域的应用(1)

Python入门到放弃(十二) | Python在工控领域的应用(1)

作者头像
剑指工控
发布2021-11-09 15:44:31
2.2K0
发布2021-11-09 15:44:31
举报
文章被收录于专栏:剑指工控

JZGKCHINA

工控技术分享平台

尊重原创 勿抄袭

勿私放其他平台

「人生苦短,我用 Python」

Python 诞生之初就被誉为最容易上手的编程语言。进入火热的 AI 人工智能时代后,它也逐渐取代 Java,成为编程界的头牌语言。

从1月21日,我们给剑指工控的网友们带来一个完全免费的福利——超简单 跟我学-Python,每周一期,由剑指工控大神剑思庭主讲哦!如今4个月过去了,课程已经接近尾声,同时,也迎来高潮:

Python在工控领域的应用

来吧!一起学起来!

01

安装Python

02

Python 解释器的交互模式

03

编写 Python 代码的工具

04

基础知识

05

运算符与表达式

06

控制流

07

函数

08

模块

09

数据结构

10

面向对象编程

11

异常

说明:

Python 3.9 是当前可用的最新版本 Python,因此,我们将在以下说明中引用该版本。此外,这些说明专用于 Windows 10。如果使用以前版本的 Windows,则基本说明是相同的,不过某些步骤中的过程可能略有不同。

第十二讲

Python读写Modbus TCP

经过前十一个章节,我们学会基本的python语法,今天我将带学习利用Python读写Modbus TCP。

首先在本机上运行ModSim软件(如果还不知道这个软件的同学,可以进入剑指工控技术群获取

),同时选择TCP,设置端口为502

然后调整数据区的数值

然后本章节将采用modbus_tk这个库,windows下安装这个库很简单,只需要在windows的命令行下敲入

代码语言:javascript
复制
pip install pymodbus_tk

python程序编写 Modbus_read.py

代码语言:javascript
复制
import  modbus_tk.modbus_tcp as mt
import  modbus_tk.defines as md
import time
#创建TCPMASTER对象

master = mt.TcpMaster('192.168.0.12',502)

#设置超时时间

master.set_timeout(5.5)
#读取寄存器数值
while True:
db2=master.execute(slave=1,function_code=md.READ_HOLDING_REGISTERS,starting_address=0,quantity_of_x=30)
    print(db2)
time.sleep(2)

运行结果如下:

给出Modbus读写的全部示例:

代码语言:javascript
复制
import  modbus_tk.modbus_tcp as mt
import  modbus_tk.defines as md
#创建TCPMASTER对象
master = mt.TcpMaster('127.0.0.1',502)
#设置超时时间
master.set_timeout(5.5)
#写入保持寄存地址1-10,值对应时
# values = (100,200,300,400,500,600,700,800,900,1000,1100)

#master.execute(slave=1,function_code=md.WRITE_MULTIPLE_REGISTERS,starting_address=0,quantity_of_x=20,output_value=value)
#写入单个寄存器

#master.execute(slave=1,function_code=md.WRITE_SINGLE_REGISTER,starting_address=0,output_value=888)
# 读取线圈
#data=master.execute(slave=1,function_code=md.READ_COILS,starting_address=0,quantity_of_x=20)
# print(data)
#写入一个线圈
#master.execute(slave=1,function_code=md.WRITE_SINGLE_COIL,starting_address=0,output_value= True)
#写入多个线圈

IT与OT不断融合的今天,应用简便、快捷的编程方式,实现多样的控制算法,已经成为每个工控人升职加薪必不可少的技能,而Python也为我们打开了一扇全新的门。

你现在正在使用Python吗?是否有很多疑惑?

你是否想跟着剑神继续深入学习Python?

请留言给我们吧!并说说你想学点什么?

汇总大家意见后,我们会协调安排Python深入学习的课程!

期待你的留言,期待你的加入!

就这么简单,下周四见!

作者简介:

剑思庭,工业网络安全研究员,研究方向为工业网络渗透与防御建设,专注于红队攻击链打造。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-05-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 剑指工控 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档