「PLC」PLC基本编程
PLC中无非就是三大量:开关量(数字量)、模拟量、脉冲量。只在搞清楚三者之间的关系,你就能熟练的掌握PLC了。
PLC编程算法(一)
1、 开关量也称逻辑量,指仅有两个取值,0或1、ON或OFF。它是最常用的控制,对它进行控制是PLC的优势,也是PLC最基本的应用。
开关量控制的目的是,根据开关量的当前输入组合与历史的输入顺序,使PLC产生相应的开关量输出,以使系统能按一定的顺序工作。所以,有时也称其为顺序控制。
而顺序控制又分为手动、半自动或自动。而采用的控制原则有分散、集中与混合控制三种。
2、 模拟量是指一些连续变化的物理量,如电压、电流、压力、速度、流量等。(在我的文章视频中我有专门讲解模拟量的案例与使用方法,感兴趣的可以去看看)
PLC是由继电控制引入微处理技术后发展而来的,可方便及可靠地用于开关量控制。由于模拟量可转换成数字量,数字量只是多位的开关量,故经转换后的模拟量,PLC也完全可以可靠的进行处理控制。
由于连续的生产过程常有模拟量,所以模拟量控制有时也称过程控制。
模拟量多是非电量,而PLC只能处理数字量、电量。所有要实现它们之间的转换要有传感器,把模拟量转换成数电量。如果这一电量不是标准的,还要经过变送器,把非标准的电量变成标准的电信号,如4—20mA、1—5V、0—10V等等。
同时还要有模拟量输入单元(A/D),把这些标准的电信号变换成数字信号;模拟量输出单元(D/A),以把PLC处理后的数字量变换成模拟量——标准的电信号。
所以标准电信号、数字量之间的转换就要用到各种运算。这就需要搞清楚模拟量单元的分辨率以及标准的电信号。例如:
PLC模拟单元的分辨率是1/32767,对应的标准电量是0—10V,所要检测的是温度值0—100℃。那么0—32767对应0—100℃的温度值。然后计算出1℃所对应的数字量是327.67。如果想把温度值精确到0.1℃,把327.67/10即可。
模拟量控制包括:反馈控制、前馈控制、比例控制、模糊控制等。这些都是PLC内部数字量的计算过程。
3、 脉冲量是其取值总是不断的在0(低电平)和1(高电平)之间交替变化的数字量。每秒钟脉冲交替变化的次数称为频率。
PLC脉冲量的控制目的主要是位置控制、运动控制、轨迹控制等。例如:脉冲数在角度控制中的应用。步进电机驱动器的细分是每圈10000,要求步进电机旋转90度。那么所要动作的脉冲数值=10000/(360/90)=2500。
PLC编程算法(二)——模拟量的计算
1、 -10—10V。-10V—10V的电压时,在6000分辨率时被转换为F448—0BB8Hex(-3000—3000);12000分辨率时被转换为E890—1770Hex(-6000—6000)。
2、 0—10V。0—10V的电压时,在12000分辨率时被转换为0—1770Hex(0—6000);12000分辨率时被转换为0—2EE0Hex(0—12000)。
3、 0—20mA。0—20mA的电流时,在6000分辨率时被转换为0—1770Hex(0—6000);12000分辨率时被转换为0-2EE0Hex(0—12000)。
4、 4—20mA。4—20mA的电流时,在6000分辨率时被转换为0—1770Hex(0—6000);12000分辨率时被转换为0—2EE0Hex(0—12000)。
以上仅做简单的介绍,不同的PLC有不同的分辨率,并且您所测量物理量实现的量程不一样。计算结果可能有一定的差异。
注:模拟输入的配线的要求
1、使用屏蔽双绞线,但不连接屏蔽层。
2、当一个输入不使用的时候,将V IN 和COM端子短接。
3、模拟信号线与电源线隔离 (AC 电源线,高压线等)。
4、当电源线上有干扰时,在输入部分和电源单元之间安装一个虑波器。
5、确认正确的接线后,首先给CPU单元上电,然后再给负载上电。
6、断电时先切断负载的电源,然后再切断CPU的电源。
PLC编程算法(三)——脉冲量的计算
脉冲量的控制多用于步进电机、伺服电机的角度控制、距离控制、位置控制等。以下是以步进电机为例来说明各控制方式。
1、 步进电机的角度控制。首先要明确步进电机的细分数,然后确定步进电机转一圈所需要的总脉冲数。计算“角度百分比=设定角度/360°(即一圈)”“角度动作脉冲数=一圈总脉冲数*角度百分比。”
公式为:角度动作脉冲数=一圈总脉冲数*(设定角度/360°)。
2、 步进电机的距离控制。首先明确步进电机转一圈所需要的总脉冲数。然后确定步进电机滚轮直径,计算滚轮周长。计算每一脉冲运行距离。最后计算设定距离所要运行的脉冲数。
公式为:设定距离脉冲数=设定距离/[(滚轮直径*3.14)/一圈总脉冲数]
3、 步进电机的位置控制就是角度控制与距离控制的综合。
以上只是简单的分析步进电机的控制方式,可能与实际有出入,仅供各位同仁参考。
伺服电机的动作与步进电机的一样,但要考虑伺服电机的内部电子齿轮比与伺服电机的减速比。
「PLC」PLC基本编程的更多相关文章
- 「PLC」PLC的硬件与工作原理
- JavaScript OOP 之「创建对象」
工厂模式 工厂模式是软件工程领域一种广为人知的设计模式,这种模式抽象了创建具体对象的过程.工厂模式虽然解决了创建多个相似对象的问题,但却没有解决对象识别的问题. function createPers ...
- 一个「学渣」从零开始的Web前端自学之路
从 13 年专科毕业开始,一路跌跌撞撞走了很多弯路,做过餐厅服务员,进过工厂干过流水线,做过客服,干过电话销售可以说经历相当的“丰富”. 最后的机缘巧合下,走上了前端开发之路,作为一个非计算机专业且低 ...
- 「Python」socket指南
开始 网络中的 Socket 和 Socket API 是用来跨网络的消息传送的,它提供了 进程间通信(IPC) 的一种形式.网络可以是逻辑的.本地的电脑网络,或者是可以物理连接到外网的网络,并且可以 ...
- 所有 Python 程序员必须要学会的「日志」记录。
本文字数:3840 字 阅读本文大概需要:10 分钟 写在之前 在我们的现实生活中,「日志记录」其实是一件非常重要的事情,比如银行的转账记录,汽车的行车记录仪记录行驶过程中的一切,如果出现了什么问题, ...
- 每个程序员都可以「懂」一点 Linux
提到 Linux,作为程序员来说一定都不陌生.但如果说到「懂」Linux,可能就没有那么多人有把握了.到底用 Linux 离懂 Linux 有多远?如果决定学习 Linux,应该怎么开始?要学到什么程 ...
- Python文字转换语音,让你的文字会「说话」,抠脚大汉秒变撒娇萌妹
作者 | pk 哥 来源公众号 | Python知识圈(ID:PythonCircle) APP 也有文字转换为语音的功能,虽然听起来很别扭,但是基本能解决长辈们看不清文字或者眼睛疲劳,通过文字转换为 ...
- React造轮子:拖拽排序组件「Dragact」
先来一张图看看: 项目地址:Github地址 (无耻求星!) 在线观看(第一次加载需要等几秒):预览地址 说起来不容易,人在国外没有过年一说,但是毕竟也是中国年,虽然不放假,但是家里总会主内一顿丰盛的 ...
- 「NOIP2009」Hankson 的趣味题
Hankson 的趣味题 [内存限制:$128 MiB$][时间限制:$1000 ms$] [标准输入输出][题目类型:传统][评测方式:文本比较] 题目描述 Hanks 博士是 BT(Bio-Tec ...
随机推荐
- Serverless 架构的优点和缺点
Serverless 的优势 在我使用 Serverless Framework 开发 AWS Serverless 应用的过程中,最方便的莫过于,第一次部署和第二次.第三次部署没有什么区别.只需要执 ...
- MathExam第二次作业(升级版)
MathExamLv2——林华伟 211506319 陈珍 211406263 一.预估与实际 PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实 ...
- lintcode-488-快乐数
488-快乐数 写一个算法来判断一个数是不是"快乐数". 一个数是不是快乐是这么定义的:对于一个正整数,每一次将该数替换为他每个位置上的数字的平方和,然后重复这个过程直到这个数变为 ...
- PAT L1-017 到底有多二
https://pintia.cn/problem-sets/994805046380707840/problems/994805121500692480 一个整数“犯二的程度”定义为该数字中包含2的 ...
- 【php】header下载文件后,文件变大的问题;(ob_clean()清空缓存)
事由: 按照常理,为了下载一个生产的文件,都是使用header函数,指定下文件信息,然后开始下载,但是下载后发现,文件体积总是比源文件要大2个字节,源文件是24字节,下载后是26字节,查看服务器返回的 ...
- Mac下Java JNI 调C
简介 JNI的实现步骤如下: 编写带有native声明的方法的Java类 使用javac命令编译编写的Java类 使用java -jni className 来生成后缀名为.h的头文件 使用其他语言( ...
- android studio 运行太慢了
Android Studio每次升级/安装 Android Studio 之后最好都修改一下这个参数:到 Android Studio 安装目录,找到 bin/studio(64?).vmoption ...
- Delphi通过ADO链接数据库及对数据库的增加,删除,修改,读取操作实例教程4
ADO是一种程序对象,用于表示用户数据库中的数据结构和所包含的数据.ADO(ActiveXDataObjects,ActiveX数据对象)是Microsoft提出的应用程序接口(API)用以实现访问关 ...
- 【C++】C++的构造函数
构造函数是特殊的成员函数,只要创建类类型的对象,都要执行构造函数.构造函数的工作是保证每个对象的数据成员具有合适的初始值. class Sales_Item { public: //operation ...
- adb命令模拟按键事件KeyCode
例子: //这条命令相当于按了设备的Backkey键 adb shell input keyevent 4 //可以解锁屏幕 adb shell input keyevent 82 //在屏幕上做划 ...