体验用arduino来实现PLC编程器的功能

news2024/11/17 15:50:09

是不是想自己临时做个PLC的测试,但又不想卖西门子三菱的PLC,那就可以用这个,把arduino变成一个PLC的编程器。

文章目录

  • 一、下载与安装
    • 1、下载
    • 2、安装
  • 二、初次使用
    • 1、打开范例程序学习
    • 2、调试运行
    • 3、下载到arduino板中

文章出处: https://blog.csdn.net/haigear/article/details/129410913

一、下载与安装

1、下载

官网地址:https://openplcproject.com/
打开主页后很显眼的位置就可以看到下载的链接,进入下载页面后我们选择JUSR DOWNLOAD,如果你想贡献点力量,也可以选择那个蓝色的按钮。
在这里插入图片描述
下载比较慢只有20k不到,我们可以借助其他工具栏下载,我这里用迅雷,还是比较给力的哦,看来有的时候迅雷还是可以担当“大任”:
在这里插入图片描述

2、安装

安装就更简单了,反正一路next到最后(只不过会解压一些文件到系统盘的temp目录下而已),安装完了直接启动
在这里插入图片描述

二、初次使用

1、打开范例程序学习

既然是用arduino,几乎和其他语言的hello world一样,一定会有blink程序,我在它的实例程序中一样可以找到它。
在这里插入图片描述
打开之后,我们会发现这个实例程序很简单,我们来一起看看,这里的英文很简单(This example cascades two timers (TON and TOF) to generate a square wave. The width of the wave is determined by the size of the PT variable on both timers.
),大体上意思就是:这个示例使用两个延时计时器(TON 和 TOF)级联来生成方波。方波的宽度取决于两个计时器上的PT变量大小。

在这里插入图片描述
左边这个方块TON0和TOF0(TON通电延时 和 TOF断电延时计时器)的PT口输入了一个500毫秒的时间变量。下面我们仿真运行一下,点击小人图标(运行编译):
在这里插入图片描述

当看到控制台显示PLC Started,那就说明我们的PLC可以工作了,转向PLC记录中,也可以看到PLC Started。
在这里插入图片描述
在这里插入图片描述

2、调试运行

这时,我们可以运行实例了,点击边上的眼睛,观察运行情况:

在这里插入图片描述
运行效果:
在这里插入图片描述
我们能够清楚的看到,blink_led的输出是500毫秒一个间隔的开关了。右键则可根据调试需要强制关闭打开
在这里插入图片描述

3、下载到arduino板中

如果我们确认程序没有问题后,可以点击顶部工具栏中的arduino图标下载程序到arduino板中了。在下载之前我们需要首先配置好与arduino对应的端口,设置的时候可以根据这个对应表来设置:
在这里插入图片描述

#名字分类类型位置
1blink_led本地BOOL%IQ0.3
2start本地BOOL%IX0.0
3TON0本地TON
4TOF0本地TOF

我们为这个实例加上一个控制变量start,也就是用arduino的2号口作为控制量的输入引脚:
在这里插入图片描述
点击后会让你选择板子的型号,我这里用的是uno板,串口号是12,你可根据你的实际情况选择。
在这里插入图片描述
看到下面的界面,说明上传完毕!
在这里插入图片描述
现在,你应该可以看见13的等闪烁起来了。
后面我们会一步一步来建立自己的PLC工程,把我们的arduino变成一个PLC控制器。

码字不易,转载请注明出处:https://blog.csdn.net/haigear/article/details/129410913

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/398654.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

科技成果赋智中小企业深度行 边界无限靖云甲ADR入选十大优秀案例

近日,国家工业信息安全发展研究中心、青岛市工业和信息化局、青岛市民营经济发展局、青岛市即墨区人民政府、青岛蓝谷管理局联合举办的科技成果赋智中小企业“深度行”活动(青岛站)成功举办,同步举行了赋智“深度行”活动&#xf…

最短路径Dijkstra算法的分析与具体实现(思路加代码)

❤️作者主页:微凉秋意 ✅作者简介:后端领域优质创作者🏆,CSDN内容合伙人🏆,阿里云专家博主🏆 ✨精品专栏:C面向对象 🔥系列专栏:数据结构与课程设计 文章目录…

Gson序列化Class对象报错解决办法

1. 背景 昨天在写RPC的基础Demo的时候,使用JSON作为序列化方式,然后在序列化对象的时候,报错了。 我复现一下该报错: public class GsonTest {public static void main(String[] args) {new Gson().toJson(String.class);}}具体…

C/C++每日一练(20230309)

目录 1. 罗马数字转整数 ★ 2. 最大数 ★★ 3. 有效数字 ★★★ 🌟 每日一练刷题专栏 C/C 每日一练 ​专栏 Python 每日一练 ​专栏 1. 罗马数字转整数 罗马数字包含以下七种字符: I, V, X, L,C&…

达梦关系型数据库

达梦关系型数据库一、DM8 安装1. 安装包下载2. Docker 安装3. Linux 安装4. Windows 安装二、DM 管理工具三、命令行交互工具 DIsql四、DM8 SQL使用1. 创建模式2. 创建表3. 修改表4. 读写数据5. 查看库下所有的表名6. 查看表字段信息GitHub: link. 欢迎star国产自主研发的大型…

数据挖掘(2.2)--数据预处理

目录 二、数据描述 1.描述数据中心趋势 1.1平均值和截断均值 1.2加权平均值 1.3中位数(Median)和众数(Mode) 2.描述数据的分散程度 2.1箱线图 2.2方差和标准差 2.3正态分布 3.数据清洗 3.1数据缺失的处理 3.2数据清洗 二、数据描述 描述数…

自动化测试实战篇(9),jmeter常用断言方法,一文搞懂9种测试字段与JSON断言

Jmeter常用的断言主要有,JSON断言和响应断言这两种方式。 断言主要就是帮助帮助人工进行快速接口信息验证避免繁杂的重复的人工去验证数据 第一种响应断言Apply to:表示应用范围测试字段:针对响应数据进行不同的匹配响应文本响应代码响应信息…

【Go自学第一节】GoLang 数据类型

和Java类型,go拥有多种数据类型,可以把它分为四个大类基础类型、聚合类型、引用类型和接口类型 一、基本数据类型 基本数据类型又可以细分为:数字类型(整型、浮点型)、布尔类型、字符串类型 整型 Go 的整型分为有符号…

计算机网络的166个概念你知道几个 第十一部分

计算机网络数据链路层和物理层节点:一般指链路层协议中的设备。链路:一般把沿着通信路径连接相邻节点的通信信道称为链路。MAC 协议:媒体访问控制协议,它规定了帧在链路上传输的规则。奇偶校验位:一种差错检测方式&…

基于gin-vue-admin[gin+gorm]手动实现crud(全)

使用Gin-Vue- Admin框架手动实现crud 在gva框架下自己手动实现一个CRUD的操作,该操作将会结合gen进行探讨学习,具体实现可以看下面代码的实现,项目目录层级分为api层,service层,model层,common层&#xff…

1/4、1/2、整车悬架天棚主动控制仿真分析合集

目录 前言 1. 1/4悬架系统 1.1数学模型 1.2仿真分析 2. 1/2悬架系统 2.1数学模型 2.2仿真分析 3. 整车悬架系统 3.1数学模型 3.2仿真分析 4.总结 参考文献 前言 对于天棚控制相比大家不陌生,它是由美国的Karnopp提出,利用假设的与天棚固连…

【数据结构】链表相关题目(简单版)

🚀write in front🚀 📜所属专栏: 初阶数据结构 🛰️博客主页:睿睿的博客主页 🛰️代码仓库:🎉VS2022_C语言仓库 🎡您的点赞、关注、收藏、评论,是…

软件测试10

Linux和数据库 1.Linux命令:软件测试第一个任务,一般都需要进行环境搭建,一部分环境搭建内容是在服务器上实现的,跟服务器交互需要使用Linux命令。(因为Linux没有图形化页面) 2.数据库:所有的软…

ccf-csp 202112-3登机牌条码

题目背景 西西艾弗岛景色优美,游人如织。但是,由于和外界的交通只能靠渡船,交通的不便严重制约了岛上旅游业的发展。西西艾弗岛管委会经过努力,争取到了一笔投资,建设了一个通用航空机场。在三年紧锣密鼓的主体建设后…

Jetpack Compose 中的动态加载、插件化技术探索

在传统的 Android 开发模式中,由于界面过分依赖于 Activity、Fragment这样的组件,一个业务模块中往往会存在着大量的 Activity 类,因此诞生了很多的插件化框架,这些插件化框架基本都是想方设法的使用各种Hook/反射手段来解决使用未…

c++11auto

autoc11中auto并不代表一种实际的数据类型,它只是一个类型声明的占位符,auto也并不是再所有场景下都能推导出变量的实际类型,使用auto不需要进行初始化,让编译器推导出它的实际类型,再编译阶段将auto占位符替换为真正的…

没有比这更详细的-压测工具Jmeter介绍及使用了

一、压测工具选型 1.1、前言 压力测试是每一个Web应用程序上线之前都需要做的一个测试,他可以帮助我们发现系统中的瓶颈问题,减少发布到生产环境后出问题的几率;预估系统的承载能力,使我们能根据其做出一些应对措施。所以压力测…

【Linux基础篇】一、Linux入门基础命令

一、Linux基础命令 1、Linux的目录结构 /,根目录是最顶级的目录了Linux只有一个顶级目录:/路径描述的层次关系同样适用/来表示/home/itheima/a.txt,表示根目录下的home文件夹内有itheima文件夹,内有a.txt 2、ls命令 功能&#…

数字孪生GIS智慧风场Web3D可视化运维系统

随着国家双碳目标的实施,新能源发电方式逐渐代替了污染大气层的火力发电,其中风力发电相比于光伏发电具有能量密度高、发电小时数长、生命周期达20-25年之久等独特的优势。风能取之不尽、用之不竭,在新型能源互联网下,风力发电有可…

三、GC算法垃圾回收器

文章目录(持续更新中... ...CMS and G1)概述如何判断对象存活引用计数法根可达算法GC算法(垃圾回收算法)分代收集理论标记-清除算法复制算法标记-整理算法垃圾回收器概述Serial收集器Parallel收集器Parallel Old收集器CMS收集器G1收集器常用的收集器组合…