西门子PLC入门-PLC介绍

2023-11-09

 

PLC全名 可编程逻辑控制器(Programmable Logic Controller),一种具有微处理器的用于自动化控制的数字运算控制器,可以将控制指令随时载入内存进行储存与执行。PLC由CPU、指令及数据内存、输入/输出接口、电源、数字模拟转换等功能单元组成。

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzU1MjAzMjQ2,size_16,color_FFFFFF,t_70

我们来与单片机做个对比:单片机(Single-Chip Microcomputer,全称:单片微型计算机)是一种是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统。

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzU1MjAzMjQ2,size_16,color_FFFFFF,t_70

从上面的描述来看,PLC与单片机是极其相似的。他们都是具有计算机系统的可编程控制器。但他们的适用领域和用法有很大不同。PLC偏向于工业自动化领域,比如生产流水线、工业机器人、数控机床等,单片机则偏向于生活,比如家用电器。

从外形来看,单片机是一颗芯片,通过与晶振电路、复位电路等模块组成单片机最小系统。而PLC从外形看像是一个盒子,尺寸较大,其内部元件全部封装在里面,从外面是看不到任何如电阻电容之类的电子元件,只能看到很多个接线端子和指示灯,这也使得PLC能在恶劣的环境下更稳定的运行,抗干扰能力更强。当然,PLC的价格也比单片机高出很多,一台PLC的价格是千元级,这也是PLC为什么不会用于普通的家用电器。

其次,他们的工作电压也有不同,单片机工作电压一般为直流5V,而PLC工作电压为直流24V或者交流220V。所以说,单片机更像是电子产品,PLC更像是电气设备。与单片机类似,PLC输出端口一般不会直接驱动负载,一般是通过控制继电器或者接触器从而间接控制主电路。

实际上,我们可以把PLC内部看成一个单片机,只不过PLC在单片机的基础上进行了二次开发,使得其使用方式发生很大变化,并衍生了一套独立的、更方便的编程方式,同时也使其配套设备更标准化。

       目前主流的PLC品牌有西门子(德国)、三菱(日本)、欧姆龙(日本)、施耐德(法国)等。国产品牌如今也在崛起,例如汇川、信捷、禾川也有不错的市场占有率。目前,西门子仍占有率最高的。

         不同的品牌,其使用的编程软件也有所不同,甚至同一品牌的不同型号PLC使用的软件也不相同。比如西门子PLC就有四款编程软件,分别为STEP7 Microwin (S7-200),STEP 7- Micro/WIN SMART( 是专门为S7-200 SMART 开发的编程软件),STEP7 V5.5 (S7-300,S7-400,ET200),STEP 7 V11 (S7-300,S7-400,S7-1500,S7-1200 )。

PLC编程语言:PLC有五种标准编程语言:梯形图语言(LD)、指令表语言(IL)、功能模块语言(FBD)、顺序功能流程图语言(SFC)、结构文本化语言(ST)。对于有电路基础的人来说,梯形图是最容易学习的,因为它是用图形来编程的。梯形图与电气操作原理图相对应,具有直观性和对应性;与原有继电器控制相一致,电气设计人员易于掌握。下图是一个简单的PLC线圈自锁梯形图(西门子),可以发现其逻辑关系与电路原理及其相似。

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzU1MjAzMjQ2,size_16,color_FFFFFF,t_70

接下来,将以西门子S7-1200为例来介绍PLC的机构及其编程环境。

S7-1200是西门子公司新一代的模块化小型PLC。首先看看这款PLC的结构:

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzU1MjAzMjQ2,size_16,color_FFFFFF,t_70

PLC的主体是中间的CPU,虽说是CPU,其实它集处理器、输入输出口、存储器等于一身,能够单独工作。S7-1200有三个型号的CPU可供选择,每个型号又有三个版本,每个版本对应不同的电源/输入/输出方式,使用时非常灵活。其部分参数如下图(详细参数可在西门子官网下载产品手册):

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzU1MjAzMjQ2,size_16,color_FFFFFF,t_70

 

在一些简单的控制场景下,单独一个CPU就足够应付,它自带一定数量的I/O端口,比如上表的CPU 1214C就有14个输入端口,10个输出端口。但在某些情况下,比如CPU输入输出端口不够用,或者需要用到模拟量输入输出,这时就需要扩展模块了。

首先是信号板(SB),可以看到前面的结构图,它是安装在CPU正面,安装时只需打开CPU前盖就能将信号板装入,但是只有一个信号板安装槽,所以S7-1200最多只能扩展一块信号板。除此,该安装槽也能安装RS-458接口和电池板。

如果安装了信号板输入输出口仍不够用,就需要用到信号模块(SM)了,信号模块安装于CPU右侧,通过铜针与CPU建立联系。相对于信号板,信号模块可以同时扩展多个,查看上表,CPU 1214C最多可扩展8个信号模块,可以想象8个信号模块串在一起是什么场景。有了信号模块,再也不用担心输入输出口不够用了(但是信号模块是需要占用安装空间的,扩展越多,占用空间越多)。

信号板与信号模块有很多型号可供选择,不同的型号其输入输出点数,模拟量数字量也不同。具体型号可查阅S7-1200使用手册,这里暂不细说。

另外还有通信模块(CM),其安装于CPU左侧,S7-1200最多可扩展3个通信模块。是CPU与网络建立联系的桥梁。

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzU1MjAzMjQ2,size_16,color_FFFFFF,t_70

PROFINET接口:此接口用于编程、HMI通讯和 PLC 间的通讯。此外它还通过开放的以太网协议支持与第三方设备的通讯。程序下载时,便是通过网线将该接口与电脑以太网接口连接,该接口也可用于连接精简系列面板或者与其他PLC的以太网通讯。

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzU1MjAzMjQ2,size_16,color_FFFFFF,t_70

      我们再来看看PLC的接线图。上文我们有谈到CPU型号与版本,S7-1200的CPU有3个版本,分别为DC/DC/DC、AC/DC/RLY、DC/DC/RLY。版本号有3个参数,分别对应着 电源电压/输入电压/输出电压,AC表示交流220V,DC表示直流24V,RLY表示继电器输出(继电器输出即通过220V交流电控制继电器)。可以发现PLC在这里与单片机的不同,单片机的输入输出电压是与电源电压一致的,而PLC的电源电压、输入电压和输出电压并不相同,所以PLC可能同时要用到2个电源。下面是CPU 1214C  3个版本的接线图。

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzU1MjAzMjQ2,size_16,color_FFFFFF,t_70

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzU1MjAzMjQ2,size_16,color_FFFFFF,t_70

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzU1MjAzMjQ2,size_16,color_FFFFFF,t_70

另外两款CPU与1214C雷同,只是端口数不同,这里暂不细说。

接着介绍一下S7-1200的编程软件。

我们需要用到的软件为 TIA Portal(博途)软件,该软件可在“软件管家”下载安装(本软件安装教繁琐,可按照安装步骤一步一步来,以免安装失败)。TIA Portal集编程、仿真和HMI界面设计于一身,使用起来很方便。这里我们使用的是V15版本。需要注意的是,Portal不同版本并不兼容,这确实是令人抓狂的一点。

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzU1MjAzMjQ2,size_16,color_FFFFFF,t_70

我们先看看该软件界面,下图为PLC组态,添加的设备及其连接都能在这里查看:

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzU1MjAzMjQ2,size_16,color_FFFFFF,t_70

PLC梯形图与电路很相似,他们都有串并联结构、自锁、互锁等,但又有所差别。在梯形图最左边,有一条竖直线,我们称之为能流(可以形象的比喻成河流的源头)。判断梯形图的某个元件是否工作,即看该元件是否有能流 流入(形象的说:河流源头的水是否流入该元件),这与电流也是类似的(只不过电流流动需要闭合回路,梯形图则不需要),而断开的开关能隔绝能流的流入。

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzU1MjAzMjQ2,size_16,color_FFFFFF,t_70

以下是梯形图基本指令(定时器,计数器,移位等指令以后再做专门介绍):
-| |-              常开触点
 -|/|-             常闭触点
XOR           位异或
-|NOT|-       信号流反向
 -( )             输出线圈
-(S)            线圈置位

-(R)            线圈复位
 RS            复位置位触发器
 RS            置位复位触发器
 -(N)-         下降沿检测
 -(P)-          上升沿检测

需要注意的是,梯形图不能以线圈开头,也不能将两个线圈串联。

PLC所有的变量都可以在PLC变量表中查到,包括其数据类型,对应的地址,名称。

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzU1MjAzMjQ2,size_16,color_FFFFFF,t_70

 以下是HMI人机界面开发界面,在这里可以发挥想象构建各种画面、动画,在这个软件也可以对人机界面进行仿真,非常方便。

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzU1MjAzMjQ2,size_16,color_FFFFFF,t_70

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzU1MjAzMjQ2,size_16,color_FFFFFF,t_70

如上图,序号1的按钮为下载按钮,梯形图写好后点击此按钮可将程序下载至PLC;序号2与下载相反,它可以将PLC中的程序下载至电脑;序号3是仿真按钮,点击此按钮,可使用PLCSIM组件进行梯形图仿真,其具体使用会在下次用专门的实例来介绍。

学习PLC最重要的是编程,编程最重要的是程序思路。刚开始学习梯形图都会有点不适应,因为其程序逻辑与C语言,汇编语言大不相同,必须跳出C语言的逻辑思维,用电路的逻辑思维去理解,就会发现梯形图其实很简单。

建议先尝试去看懂梯形图,找一些实例,首先理清整体结构,然后分析每个元件的作用;然后尝试在不同的控制要求下修改现有程序:最后尝试自己用自己的思路写程序。如果能自己写一些程序了,并且对思路很清楚,那说明已经理解了梯形图的含义。

当然PLC不仅仅要会编程,还要学习PLC在变频器、伺服器、PID控制等方面的应用。

 

 

本文纯属个人理解,如有错误,还请指出

 

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

西门子PLC入门-PLC介绍 的相关文章

  • 什么是分数阶控制器

    转自他人论文 本博文仅做整理 一 介绍 分数阶微积分是一个古老而又 新鲜 的概念 早在整数阶微积分创立的初期 就有一些学者开始考虑 它的含义 然而 由于缺乏应用背景和计算困难等原因 分数阶微积分理论及应用的研究一直没有得到太 多实质性进展
  • 基于ADRC的FOC位置环控制

    ADRC位置环控制 ADRC介绍 1 非线性跟踪微分器 2 非线性ESO观测器 3 非线性状态误差反馈控制律原理 NLSEF 4 调参流程 1 调TD 2 调ESO 3 调NLSEF 5 基于ADRC的位置环设计 ADRC框图 基于ADRC
  • Kubernetes详解(二十二)——Deployment控制器

    今天继续给大家介绍Linux运维相关知识 本文主要内容是Deployment控制器 一 Deployment控制器概述 在前文Kubernetes详解 二十 ReplicaSet控制器和Kubernetes详解 二十一 ReplicaSet
  • 经典场效应管如何快速关断技巧-KIA MOS管

    mos管的快速关断原理 R4是Q1的导通电阻没有Q1就没有安装的必要了 当低电位来时Q1为泻放扩流管 功率MOS管怎样关断 能否用PWM实现 怎样实现 功率mosfet的三个端口 G极 D极 S极 G极控制mosfet的开通 关断 给GS极
  • 武汉理工大学课程设计优秀报告_零极点对系统性能的影响分析

    自动控制原理优秀开源报告 零极点对系统性能的影响分析 要求完成的主要任务 包括课程设计工作量及其技术要求以及说明书撰写等具体要求 当开环传递函数为G1 s 时 绘制系统的根轨迹和奈奎斯特曲线 当开环传递函数为G1 s 时 a分别取0 01
  • Simulink搭建三相PWM整流器过程

    三相PWM整流器的基本构成 过年期间闲来无事 对PWM整流器进行了一点了解 然后用Simulink搭建了一个PWM整流器的模型 现在对这个过程进行归纳 希望对大家有帮助 首先贴出三相PWM整流器的电路简图如下图 其中V1 V2 V3是三相电
  • 固高运动控制卡跟随运动(Follow 运动模式)

    固高运动控制卡跟随运动 Follow 运动模式 一 Follow 运动模式指令列表 固高运动控制卡开发资料 关注我免费下载 GT PrfFollow 设置指定轴为 Follow 运动模式 GT SetFollowMaster 设置 Foll
  • 一文读懂舵机工作原理并运用(附代码)

    杂谈 自己拿到这一模块是也挺迷茫的 后来看了一些资料 也渐渐积累了些自己的理解 很多博文并没有将舵机讲明白 至少你待把PWM与角度如何换算讲清楚吧 所以笔者写这篇博文供大家学习掌握 如果你拿到一个舵机 该咋办 莫慌 往下看 第一步先要区分这
  • MPC车辆轨迹跟踪----理论推导

    MPC控制简介 众所周知 控制算法中 PID的应用占据了90 而另外10 就是这次的主角MPC控制算法 MPC控制算法全称模型预测控制 它相对比PID有着多输入 多输出以及更加平稳的特点 并且最重要的是 MPC可以针对非线性的系统进行控制
  • 混合式步进电机的细分驱动(电流方式、电压方式)及Simulink仿真对比

    两相混合式步进电机的最简单模型和驱动方式 两相混合式步进电机有四个连接点 分别为a a b b a 和a 连接绕组A的两端 b 和b 连接绕组B的两端 电机的结构可以简化为如下的图示结构 电机转子可以看成一个磁铁 电机的定子上标有a b a
  • 西门子PLC入门-PLC介绍

    PLC全名 可编程逻辑控制器 Programmable Logic Controller 一种具有微处理器的用于自动化控制的数字运算控制器 可以将控制指令随时载入内存进行储存与执行 PLC由CPU 指令及数据内存 输入 输出接口 电源 数字
  • 串级PID与单极PID的区别

    目录 前言 一 什么是串级PID 二 串级PID与单极PID比较 1 控制小车开到某一位置 2 平衡小车速度控制 三 什么时候用串级PID 结语 前言 本文将讲述串级PID与单极PID的区别 并由此引出什么时候用串级PID 对于想深入学习P
  • 一个Chen系统的激活控制同步——MATLAB实现

    对于 C h e n Chen Chen系统 驱动系统定义为
  • Lyapunov稳定性分析1(正定函数、二次型正定判定)

    一 正定函数 1 1 定义 令V x 是向量x的标量函数 S是x空间包含原点的封闭有限区域 如果对于S中的所有x 都有 则V x 是正定的 半正定 正定函数更直观的描述如下图所示 如果条件 3 中不等式的符号反向 则称V x 是负定的 负半
  • 马斯克最新访谈全文,信息量极大,远见令人震撼

    建设太空文明和成为多星球物种是重要的 如果将来发生了第三次世界大战或者类似的事情 或者发生了全球性热核战争 那个时候可能地球上所有的文明都将被毁于一旦 但它至少能够继续在别的地方存在 作者 六毛 来源 车东西 特斯拉Model Y降价15万
  • 四旋翼无人机Matlab建模

    本文主要分享一下四旋翼无人机的建模过程 然后在Matlab的simulink模块搭建起四旋翼无人机的模型 本篇文章主要参考了康日晖的 四旋翼无人机建模 与南京邮电大学周帆同学的硕士毕业论文 最后我会给出参考文章网址 有兴趣的同学可以看看 一
  • 2021-02-28

    simulink控制器封装库 控制器封装库 一 封装库的安装和LADRC模块的使用
  • 了解一款新的单片机

    MCU价格依然高居不下 各个国产MCU厂商的竞争也是如火如荼 然而好多厂商都是追求硬件甚至软件兼容STM32 但是兼容性好的芯片用的人也多 最终供不应求 还是会导致价格上涨 与其这样 不如干脆选一款相对冷门的单片机 用的人没那么多 价格也就
  • 并网逆变器PI控制(并网模式)

    并网逆变器PI控制 1 逆变器拓扑结构与数学模型 2 常用变换 2 1 abc alpha beta 变换及其逆变换 2 2
  • 【论文笔记】基于Control Barrier Function的二次规划(QP)控制

    文章目录 写在前面 问题描述 RBF 1 Logarithmic 2 Inverse type 3 Reciprocal ZBF 两者的联系 CBF构建 RCBF ZCBF QP设计 ES CLF CLF CBF QP 写在前面 原论文 C

随机推荐

  • 华为2288H-V5 组RAID安装系统(描述安装系统)

    先说下兼容性我这里是bios是最新的19版 和17版有些许差异 windows方面不支持windows2012以下的版本 2008R2再见 linux方面支持常用的linux系统如红帽6 9 6 10 7 4以上系统 7 0 7 3这些不支
  • k8s与log--利用fluent bit收集k8s日志

    前言 收集日志的组件多不胜数 有ELK久负盛名组合中的logstash 也有EFK组合中的filebeat 更有cncf新贵fluentd 另外还有大数据领域使用比较多的flume 本次主要说另外一种 和fluentd一脉相承的fluent
  • 如何更新R

    更新R版本 1 直接安装install packages installr 然后 library installr 再updateR 2 把原来的R删掉 再到官网下载 The R Project for Statistical Comput
  • Java中变量详解(类的五成员之一:变量)

    目录 友情提醒 概述 Java中的成员包含五部分 第一部分 变量 1 Java中的变量分类 2 成员变量和局部变量的位置区别 3 Java中成员变量作用域 Java权限修饰符 4 Java中成员变量和成员属性的区别 5 成员变量初始化方式
  • Numbers on Whiteboard (codeforces1430)(数学分析)

    Numbers 1 2 3 each integer from 1 to once are written on a board In one operation you can erase any two numbers and from
  • LeetCode 刷题记录14. 最长公共前缀

    题目描述 编写一个函数来查找字符串数组中的最长公共前缀 如果不存在公共前缀 返回空字符串 说明 示例 1 输入 strs flower flow flight 输出 fl 示例 2 输入 strs dog racecar car 输出 解释
  • 修改网页logo图片

    在html的head代码区加入以下代码 保存刷新页面即可
  • Lua基础之字符串(string)

    1 计算字符串长度 2 返回字符串s的n个拷贝 3 返回字符串全部字母大写 4 返回字符串全部字母小写 5 返回一个类似printf的格式化字符串 6 根据下标截取字符串 7 在字符串中查找 8 在字符串中替换 9 返回字符的整数形式 10
  • 二叉树系列(1)已知二叉树的中序遍历和前序遍历,如何求后序遍历

    一道HULU的笔试题 How I wish yesterday once more 假设有棵树 长下面这个样子 它的前序遍历 中序遍历 后续遍历都很容易知道 PreOrder GDAFEMHZ InOrder ADEFGHMZ PostOr
  • nlp-如何实现编写BERT模型

    致谢 本文主要由浙江大学李泺秋撰写 前言 建议通过pycharm vscode等工具对bert源码进行单步调试 调试到对应的模块再对比看讲解 涉及到的jupyter可以在代码库 篇章3 编写一个Transformer模型 BERT 下载 本
  • Spring MVC 使用JSR303校验表单

    导入JSR303相关JAR包 Spring MVC 使用JSR303校验表单 创建registerForm jsp
  • 英伟达合作伙伴选择RTX 2080Ti作为深度学习-人工智能解决方案

    Scientific在9月6日发布新闻称 英伟达 Nvidia 全球服务器供应商之一AMAX将最新的GeForce RTX 2080 Ti图形卡集成到深度学习 人工智能以及HPC高性能计算服务器的解决方案阵容中 新的GeForce RTX
  • matplotlib.pyplot.hist绘制直方图函数

    matplotlib pyplot hist x bins 10 range None normed False weights None cumulative False bottom None histtype u bar align
  • 小程序点击复制功能制作

    在wxml文件中添加一个按钮或需要点击的元素 并绑定点击事件监听器2
  • RabbitMQ报错Error: unable to connect to node rabbit@xxx: nodedown的解决方式

    RabbitMQ报错Error unable to connect to node rabbit xxx nodedown的解决方式 环境 Win10x64 erlang otp 19 1x64 RabbitMQ3 6 6 刚开始研究Rab
  • 【前端领域】3D旋转超美相册(HTML+CSS)

    世界上总有一半人不理解另一半人的快乐 爱玛 目录 一 前言 二 本期作品介绍 3D旋转相册 三 效果展示 四 详细介绍 五 编码实现 index html style css img 六 获取源码 公众号获取源码 获取源码 私信 关注 点赞
  • KVM内核代码结构

    KVM内核代码结构 因为KVM的源代码已经包含在了Linux的内核树中 因此我们只需直接从www kernel org下载代码即可 内核源码包打开较大 解开后目录结构大概是这个样子 涉及KVM的主要有两个目录 virt和arch x86 k
  • [游戏开发]Unity业务代码自动生成工具

    前言 项目里有非常多的重复代码 例如UI业务逻辑 一般来说都会生成Manager Module View层代码 这是基本的MVC架构 Manger层 负责数据维护 对照Proto把CS和SC通信代码都写上 Module层 如果有变化则从Ma
  • 《Java基础篇》JavaBean的生命周期·作用域·通俗易懂

    1 基本概念 bean 就是由IOC 容器初始化 装配及管理的对象 Spring中的bean默认都是单例的 那么单例Bean在多线程程序下如何保证线程安全呢 Spring的单例是基于BeanFactory也就是Spring容器的 单例Bea
  • 西门子PLC入门-PLC介绍

    PLC全名 可编程逻辑控制器 Programmable Logic Controller 一种具有微处理器的用于自动化控制的数字运算控制器 可以将控制指令随时载入内存进行储存与执行 PLC由CPU 指令及数据内存 输入 输出接口 电源 数字