news 2026/4/18 12:44:27

最近在搞一个FX3u轮训27个压力表的程序,写完之后感觉思路还挺清晰的,代码也很简洁,分享出来给大家参考一下

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
最近在搞一个FX3u轮训27个压力表的程序,写完之后感觉思路还挺清晰的,代码也很简洁,分享出来给大家参考一下

FX3u轮训27个压力表程序,思路清晰简洁,备注明确。 程序中只用了一条通讯程序轮训, 全部程序加起来步数622, 实现以下功能: 1:压力表当前数据 2:压力表通讯状态数据 3:压力表错误通讯数据 4:压力表上下限位判断数据 5:对应的压力表故障输出数据 6:查看单周期通讯时间及全周期时间。 程序中压力表数量可实时调整。

首先,这个程序的核心就是一条通讯程序轮训。没错,就一条!轮训27个压力表,所有的功能都靠这条通讯程序搞定。整个程序加起来才622步,算是相当精简了。

FX3u轮训27个压力表程序,思路清晰简洁,备注明确。 程序中只用了一条通讯程序轮训, 全部程序加起来步数622, 实现以下功能: 1:压力表当前数据 2:压力表通讯状态数据 3:压力表错误通讯数据 4:压力表上下限位判断数据 5:对应的压力表故障输出数据 6:查看单周期通讯时间及全周期时间。 程序中压力表数量可实时调整。

先来看看实现的功能:

  1. 压力表当前数据
  2. 压力表通讯状态数据
  3. 压力表错误通讯数据
  4. 压力表上下限位判断数据
  5. 对应的压力表故障输出数据
  6. 查看单周期通讯时间及全周期时间

而且,程序里的压力表数量还可以实时调整,灵活性相当不错。

核心代码分析

LD M8000 OUT M8122

这段代码的作用是启动通讯。M8000是PLC的常开触点,M8122是通讯启动信号。简单粗暴,直接启动通讯轮训。

MOV K27 D100

这里用MOV指令将常数K27(表示27个压力表)传送到数据寄存器D100中。这个D100就是用来存储压力表数量的,后续的轮训逻辑会根据这个值来决定轮训的次数。

FOR K0 TO D100

FOR循环指令,从K0开始,到D100结束,循环次数就是压力表的数量。这个循环是轮训的核心,每次循环都会处理一个压力表的数据。

CALL P100

CALL指令调用子程序P100,这个子程序就是处理单个压力表数据的逻辑。每次循环都会调用一次,处理一个压力表。

P100: LD M8122 OUT M8123 MOV D200 D201 CMP D201 K100 OUT Y0 RET

子程序P100的逻辑也很简单:

  1. LD M8122OUT M8123是通讯处理的一部分,确保通讯正常进行。
  2. MOV D200 D201将压力表的数据从D200传送到D201
  3. CMP D201 K100比较D201K100,判断压力是否超过上限。
  4. OUT Y0根据比较结果输出故障信号。

轮训时间监控

LD M8000 OUT T0

这段代码用来监控单周期通讯时间。M8000是常开触点,T0是定时器,记录每次轮训的时间。

LD T0 OUT D300

将定时器T0的值传送到D300,这样就可以在程序中查看单周期通讯时间了。

压力表数量调整

MOV K10 D100

如果需要调整压力表数量,直接修改D100的值即可。比如这里将压力表数量改为10,程序会自动调整轮训次数。

总结

这个程序虽然功能不少,但代码非常简洁,核心就是一条通讯程序轮训27个压力表。通过FOR循环和子程序调用,实现了对每个压力表的数据处理。压力表数量可以实时调整,灵活性很高。

代码中的注释也很明确,每个指令的作用都一目了然。如果你也在搞类似的轮训程序,可以参考这个思路,简洁高效,值得一试。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 5:24:25

保姆级教程:Jupyter调用bge-large-zh-v1.5的embedding接口

保姆级教程:Jupyter调用bge-large-zh-v1.5的embedding接口 1. 引言:为什么选择bge-large-zh-v1.5进行文本嵌入 在当前自然语言处理任务中,高质量的文本嵌入(Text Embedding)是实现语义理解、相似度计算、信息检索等下…

作者头像 李华
网站建设 2026/4/18 5:22:37

万物识别如何应对模糊图像?增强算法集成部署案例

万物识别如何应对模糊图像?增强算法集成部署案例 1. 引言:模糊图像带来的识别挑战 在实际应用场景中,万物识别系统常常面临输入图像质量不佳的问题,尤其是模糊、低分辨率或光照不均的图像。这类问题严重影响了模型的特征提取能力…

作者头像 李华
网站建设 2026/4/18 5:22:30

WaveTools完整指南:一键解锁鸣潮120帧与极致画质优化

WaveTools完整指南:一键解锁鸣潮120帧与极致画质优化 【免费下载链接】WaveTools 🧰鸣潮工具箱 项目地址: https://gitcode.com/gh_mirrors/wa/WaveTools 还在为鸣潮游戏卡顿、画质模糊而烦恼吗?WaveTools作为专业的鸣潮游戏优化工具&…

作者头像 李华
网站建设 2026/4/18 5:21:50

如何快速解锁加密音乐:免费音频解密完整教程

如何快速解锁加密音乐:免费音频解密完整教程 【免费下载链接】unlock-music 在浏览器中解锁加密的音乐文件。原仓库: 1. https://github.com/unlock-music/unlock-music ;2. https://git.unlock-music.dev/um/web 项目地址: https://gitcod…

作者头像 李华
网站建设 2026/4/18 7:05:22

快速搭建语音服务:IndexTTS-2-LLM Docker部署教程

快速搭建语音服务:IndexTTS-2-LLM Docker部署教程 1. 引言 1.1 学习目标 本文将详细介绍如何通过 Docker 快速部署 IndexTTS-2-LLM 智能语音合成服务。完成本教程后,您将能够: 成功启动并运行基于 kusururi/IndexTTS-2-LLM 的 TTS 服务使…

作者头像 李华
网站建设 2026/4/16 14:46:05

WaveTools专业解析:鸣潮游戏性能优化与功能应用实战

WaveTools专业解析:鸣潮游戏性能优化与功能应用实战 【免费下载链接】WaveTools 🧰鸣潮工具箱 项目地址: https://gitcode.com/gh_mirrors/wa/WaveTools 还在为《鸣潮》游戏画面卡顿、帧率限制而困扰吗?WaveTools作为专业的游戏辅助工…

作者头像 李华