PLC基本知识 -- 32 取代继电器 (顺便学英文)
Replacing Relays / 取代继电器
Next, let’s use a PLC in place of the relay. (Note that this might not be very cost effective for this application but it does demonstrate the basics we need.) The first thing that's necessary is to create what's called a ladder diagram. After seeing a few of these it will become obvious why its called a ladder diagram. We have to create one of these because, unfortunately, a PLC doesn't understand a schematic diagram. It only recognizes code. Fortunately most PLCs have software which converts ladder diagrams into code. This shields us from actually learning the PLC's code.
接下来,让我们用PLC来代替上一节中电铃控制电路原理图里的继电器。(注意,这可能对这个电铃控制电路来说不是很划算,但它确实演示了我们需要的基础知识)。首先要做的是根据上一节中的电铃控制电路原理图来创建一个叫做梯形图东西。看了后面的一些图之后,你就会明白为什么它被称为梯形图了。我们必须创建一个梯形图,因为不幸的是,PLC不理解原理图,它只能识别代码。幸运的是,大多数PLC都有将梯形图转换成代码的软件。这使我们无法真正学习PLC的代码。
First step - We have to translate all of the items we're using into symbols the PLC understands. The PLC doesn't understand terms like switch, relay, bell, etc. It prefers input, output, coil, contact, etc. It doesn't care what the actual input or output device actually is. It only cares that its an input or an output.
第一步 - 我们必须把我们使用的所有项目转换成PLC可以理解的符号。PLC不懂开关、继电器、电铃等术语,它更喜欢输入、输出、线圈、触点等。它并不关心当前的输入或输出设备真正是什么,它只关心它是输入还是输出。
First we replace the battery with a symbol. This symbol is common to all ladder diagrams. We draw what are called bus bars. These simply look like two vertical bars. One on each side of the diagram. Think of the left one as being + voltage and the right one as being ground. Further think of the current (logic) flow as being from left to right.
首先我们用一个符号替换电池,这个符号对所有梯形图都是通用的,就是我们画出的所谓的总线条,这些看起来就像两个竖线条,梯形图的两边各有一条。左边的是+电压,右边的是接地,进一步可以理解为电流(或叫逻辑流)是从左流到右的。
Next we give the inputs a symbol. In this basic example we have one real world input (i.e. the switch). We give the input that the switch will be connected to, to the symbol shown below. This symbol can also be used as the contact of a relay.
接下来,我们给输入一个PLC可以理解的符号。在上一节电铃控制的例子中,我们有一个真实的输入(即开关),我们将那个开关所连接的输入点输入到如下所示的符号。这个符号也可以当作继电器的触点使用。
A contact symbol / 一个触点符号
Next we give the outputs a symbol. In this example we use one output (i.e. the bell). We give the output that the bell will be physically connected to the symbol shown below. This symbol is used as the coil of a relay.
接下来,我们给输出一个PLC可以理解的符号。在上一节电铃控制的例子中,我们使用了一个输出(即电铃)。我们将那个电铃所连接的输出点输出到如下所示的符号。这个符号当作继电器的线圈。
A coil symbol / 一个线圈符号
The AC supply is an external supply so we don't put it in our ladder. The PLC only cares about which output it turns ON and not what's physically connected to it.
AC电源是外部电源,所以我们不把它放在梯形图上。PLC只关心它应该打开哪个输出点,而并不关心这个输出点上真正连接的是什么。
Second step - We must tell the PLC where everything is located. In other words we have to give all the devices an address. Where is the switch going to be physically connected to the PLC? How about the bell? We start with a blank road map in the PLCs town and give each item an address. Could you find your friends if you didn't know their address? You know they live in the same town but which house? The PLC town has a lot of houses (inputs and outputs) but we have to figure out who lives where (what device is connected where). We'll get further into the addressing scheme later. The PLC manufacturers each do it a different way! For now let's say that our input will be called "0000". The output will be called "500".
第二步 - 我们必须告诉PLC所有东西的位置。换句话说,我们必须给所有外接设备一个地址。开关将连接到PLC的哪个输入点?电铃连接到哪个输出点?好了,现在比方PLC是一个小镇,我们从空白路线图开始,给小镇上每个项目编一个地址。如果你不知道你朋友的地址,你能找到他们吗?即便你知道他们住在同一个镇上,但你知道他们住在哪个房子里吗?PLC小镇上有很多房子(输入点和输出点),但我们必须弄清楚谁住在哪个房子里(什么设备连接到了哪里),稍后我们将进一步讨论寻址方案。不同的PLC的制造商有各自不同的做法!现在假设我们的输入将被称为地址“0000”,输出将被称为地址“0500”。
Final step - We have to convert the schematic into a logical sequence of events. This is much easier than it sounds. The program we're going to write tells the PLC what to do when certain events take place. In our example we have to tell the PLC what to do when the operator turns ON the switch. Obviously we want the bell to sound but the plc doesn't know that. It's a pretty stupid device, isn't it!
最后一步 - 我们必须把原理图转换成一个事件的逻辑顺序,这比听起来容易得多。我们即将要编写的程序会告诉PLC当某些事件发生时它应该做什么。在我们的例子中,我们必须告诉PLC当操作员打开开关时该做什么。显然,我们是希望铃声响起,但PLC不知道,它是一个相当愚蠢的装置,不是吗? (它只知道输入、输出)
梯形图
The picture above is the final converted diagram. Notice that we eliminated the real world relay from needing a symbol. It's actually "inferred" from the diagram. Huh? Don't worry, you'll see what we mean as we do more examples.
上图是最后的转换图(原理图转换成梯形图)。注意,我们取消那个真实的继电器,不再需要继电器这个符号。这实际上是从图中推断出来的,嗯?别担心,当我们举更多的例子时,你就会明白我们的意思。
分享一个支持40多种通讯协议的优秀调试软件
今天发现了一个非常好用的调试软件 HslCommunication ,此软件支持s7、三菱、汇川、欧姆龙、倍福、tcpip、modbus、MQTT、kuka机器人、ABB机器人、罗克韦尔等40多种通讯协议。在发现这个软件之前我还使用一大堆通讯调试软件进行项目调试,我用了HslCommunication之后就一个软件走天下。
软件介绍
01
HslCommunication 是一个多功能的通信库。HslCommunication 不仅能够实现与各种工业设备如PLC、机器人、远程I/O、传感器和执行器、仪表等的数据通信,还能支持不同程序之间的数据交换,包括不同编程语言(如C#、Java、Python)编写的程序之间的通信,以及程序与网页、本地电脑与云服务器之间的数据传输。因此,HslCommunication 可以被视为一个强大的数据通信工具,适用于多种场景和需求。此软件不只是可以作为调试助手,还可以调用 HslCommunication.dll通讯库进行上位机编程,此库包含了几十种通讯协议,使用起来效率杠杠的。
由于篇幅有限接下来我们通过S7协议读取plc数据、kuka协议读写库卡机器人数据、modbusTCP协议读写数据,三个方面进行软件通讯测试。
S7-1500通讯测试
02
我们使用博途新建一个s7-1500程序。
勾选“允许来自远程对象的PUT/GET通信访问”。
将程序下载到S7-PLCSIM Advanced V4.0仿真软件。
接下来我们打开 HslCommunication通讯软件,打开西门子-S7-1500通讯,填写IP地址,机架号端口号点击链接。
地址栏添加要读取的地址例如:M2点击读取,支持bool、byte、int、浮点数、字符串等数据类型
右侧可以进行变量写入,同时也支持多种数据类型的写入。
下方可以进行批量的数据读取
PLC还有很多通讯没有测试,大家可以下载进行测试使用。
KUKA机器人通讯测试
03
kuka我们使用officelite.VKRC V8.6.8虚拟机仿真机器人系统运行,系统运行插件KUKAVARPROXY为了打通通讯。
打开 HslCommunication通讯软件选择kuka通讯协议,输入库卡的IP地址和端口号7000点击链接,在地址栏直接输入要读取的地址tool_data[1],点击读取数据就直接出来了,是不是很方便。
ModbusTCP通讯测试
04
我们打开modbusSave开启一个服务器,地址为1,功能码03,10个数据
打开通讯软件 HslCommunication选择modbusTCP通讯协议,填写IP地址,端口号502,站号1。
输入读取地址0,输入长度10点击short进行读取。
右侧可以进行对modbus地址进行赋值。
下方可以对地址进行批量访问
相关问答
红警2直播间-红警2直播间下载_红警2直播间轻量版直装
toacquireIreland-basedpeerTycoInternationalPlcTYC.N,spokesmanJo...tknowifAlexanderGrah...