plc

自己动手——实现台达PLC远程监控数据采集

痞子三分冷 提交于 2020-01-17 11:55:24
前言:台达PLC是一款国产优秀的可编程控制器,广泛应于工业控制领域,是一款性能高,运行稳定的控制器。此次我们要把台达DVP-ES系列PLC连接到EMCP物联网云平台(简称EMCP),实现电脑Web网页、手机APP和微信对台达PLC(D0/D1/Y0/Y2)寄存器的远程监控和D100和Y20的远程读写。 1.1在对接前我们需准备如下物品; 台达PLC一台(注意带COM2或3通讯串口),和自带的编程电缆。 河北蓝蜂科技的DTU模块一台,天线和电源适配器(以下用GM10-DTU作为实例)。 SIM卡一张,有流量,大卡(移动或联通卡)。 联网电脑一台(WinXP/Win7/Win8操作系统)。 电工工具、导线若干。 1.2 DTU准备工作 此处参考《GM10-DTU用户使用手册》进行操作,我们需要对DTU网关(WM10-DTU网关的设置和GM10类似,以下均以GM10-DTU网关来介绍)连接天线、插上SIM卡(移动/联通流量卡,大卡)、连接12V或24V的电源适配器。 1.3 PLC准备工作。 PLC连接电源(注意电源是24VDC还是220VAC),将编程电缆插上PLC的COM1口,另一端连电脑的COM口(或是USB-232线),PLC的485串口(COM2 +/-端子)连接到GM10的485A和485B接线端子(也可以使用COM3,这里统一按COM2口进行讲解)。如下图; 打开

Snap7 writing to a S7-1200 PLC

别说谁变了你拦得住时间么 提交于 2020-01-16 04:08:17
问题 I'm trying to write something to my Siemens PLC with a C++/CLI application. Reading is ok (except the first time it reads it gives odd values). But writing is doing something completely different then what I want. below you can find the code: private: void WriteSiemensDB() { byte* buffer; if (ConnectToSiemensPLC()) //Check if you are connected to PLC { String^ msg; int DBNumber = 2; bool NDR; //Getting the values 1 time so buffer has a value buffer = sPLC->ReadDB(DBNumber); //give variables a

AB-PLC之间通讯

我们两清 提交于 2020-01-15 18:40:25
AB-PLC之间通讯 AB-PLC之间进行通讯比较常用的方法有两种: 第一种:使用生产者/消费者,通过设置数据类型方式进行通信 第二种:使用MSG指令,进行通信 两种通讯方式有什么区别? 在生产者/消费者通信中,生产者数据所在的plc必须在消费者plc网络组态中,而使用MSG指令进行数据交换则没有此项要求。 使用生产者-消费者数据通讯: 所谓消费者就是需要接收的数据、主动读取数据的那一方,生产者就是被读取数据、发送数据那一方。下面定义plc-a为生产者plc,plc-b为消费者plc,通讯步骤如下: (1) plc-a控制器标签中定义需要发送的数据区,数据类型为生产型;plc-b控制器标签中定义接收数据区,数据类型为消费 (2) 设置plc-b中消费者标签的连接属性,在remote data属性中填写对应于plc-a中生产者变量名称即可 PS:这里需要注意,标签必须创建在控制器区域,全局数据区;传送数据的标签不能超过500个字节,如果是通过ControlNet网络数据交换,数据标签则不能超过480 个字节,这是受限于ControNet 网络的数据包的尺寸;如果Produce几个数据到同一个控制器,将几个数据合并在一个用户自定义结构的数据标签中,这样可以减少连接数,合并后的数据会用相同的RPI;标签只能使用DINT和REAL,或它们的数组,或者用户自定义结构数据

PLC的特点有哪些?

落爺英雄遲暮 提交于 2020-01-13 02:18:45
为适应工业环境使用,与一般控制装置相比较,PLC机有以下特点: 1. 可靠性高,抗干扰能力强 工业生产对控制设备的可靠性要求: ①平均故障间隔时间长 ②故障修复时间(平均修复时间)短 任何电子设备产生的故障,通常为两种: ①偶发性故障。由于外界恶劣环境如电磁干扰、超高温、超低温、过电压、欠电压、振动等引起的故障。这类故障,只要不引起系统部件的损坏,一旦环境条件恢复正常,系统也随之恢复正常。但对PLC而言,受外界影响后,内部存储的信息可能被破坏。 ②永久性故障。由于元器件不可恢复的破坏而引起的故障。 如果能限制偶发性故障的发生条件,如果能使PLC在恶劣环境中不受影响或能把影响的后果限制在最小范围,使PLC在恶劣条件消失后自动恢复正常,这样就能提高平均故障间隔时间;如果能在PLC上增加一些诊断措施和适当的保护手段,在永久性故障出现时,能很快查出故障发生点,并将故障限制在局部,就能降低PLC的平均修复时间。为此,各PLC的生产厂商在硬件和软件方面采取了多种措施,使PLC除了本身具有较强的自诊断能力,能及时给出出错信息,停止运行等待修复外,还使PLC具有了很强的抗干扰能力。 ·硬件措施: 主要模块均采用大规模或超大规模集成电路,大量开关动作由无触点的电子存储器完成,I/O系统设计有完善的通道保护和信号调理电路。 ① 屏蔽——对电源变压器、CPU、编程器等主要部件,采用导电

三菱PLC编程软件:GX WORKS2和GX WORKS3的区别

北城以北 提交于 2020-01-10 04:56:11
三菱PLC编程软件:GX WORKS2和GX WORKS3的区别 三菱 PLC 应用非常广泛,也是很多初学者入门首选,今天聊聊 PLC 编程软件。早期,三菱 PLC 使用 GX Developer 软件,不过,随着时代进步,这个软件已经很少有人用了。现在,三菱 PLC 基本上用两款软件 GX WORKS2 和 GX WORKS3 。 这种命名方式很不好,让人误以为是一个软件的不同版本。其实,这是两个不同的软件。所以, GX WORKS2 和 GX WORKS3 是两个完全不同的软件,只是名字相似而已,因此,这两款软件可以装在同一个电脑上,没有任何问题!那么,它们什么区别?只是支持的 PLC 型号不一样而已。 GX WORKS2 ,它是 FX 系列也就是大家熟悉的 FX2N 、 FX3U 、 FX3G 、 FX1S 等等 PLC 。以及三菱的大型 PLC , Q 系列, A 系列。这款软件,还是秉承三菱一贯的作风,梯形图和寄存器的风格。因此,它有简单工程和结构化工程两种编程模式。默认是简单工程,也就是让广大初学者追捧的直观易懂的梯形图! GX WORKS3 是三菱最新的 PLC 软件,据说是美国人开发的,所以,它的风格和 AB,GE 等美系 PLC 很像。支持 FX5U R 系列 PLC 。也就是 IQ-F 和 IQ-R 系列。它支持结构化工程,也就是取消了简单工程和结构化工程的选项

NModbus4 read TXT from PLC

时光总嘲笑我的痴心妄想 提交于 2020-01-07 02:01:09
问题 I'm programming a Click PLC with a C# application with NModbus4. (RS232) Now i'm trying to read and write TXT data. This is the code and result: When I check the Click PLC software I can see that for each two chars one Modbus address is used. How can I get the text saved in the PLC? Someone got an idea? The text stored in the PLC is "Dit is tekst" 回答1: A Modbus register is 16-bit wide, so it can store two chars. This is why each two chars share the same address. That said, you need to infer

Libnodave: connectPLC returns -1

蹲街弑〆低调 提交于 2020-01-05 07:44:07
问题 I'm trying to connect to a Siemens CPU315-2 DP via Ethernet by a CP 343-1 Lean using Libnodave dll. I've tried the example program "simpleISO_TCP.cs" contained in the download file. The function openSocket works just fine but the function connectPLC always returns -1 wich means that the connection to the PLC fails. Anyone knows what could cause this problem? PS: I'm using Visual Studio 2012 in Windows 7 64 bit. 回答1: A few things for you to check: Is the correct hardware configuration

Defining duty cycle in twincat 3

萝らか妹 提交于 2020-01-05 04:08:06
问题 for a school project I need to connect a temperature sensor to my beckhoff modules and define the temperature. the sensor I am using is an SMT160-30, it works between 1-4khz, which is cutting it close for standard io modules. I will probably need a special input module made for high speed measurements, but according to my teacher I must be able to do it with a standard module. But I am just having trouble with defining the duty cycle and can't really figure out how to solve it. PROGRAM MAIN

Simple APP to read and write data to ROCKWELL PLC (1756-A10/A)

試著忘記壹切 提交于 2020-01-03 05:43:14
问题 I'm looking for a simple way, if that's even possible, to make an app that can read/write to tags in a ROCKWELL PLC. What I need is a simple window that allows me to type the PLC IP (they are all connected to the network) so I can connect to the device, a container that loads all the PLC current tags, and the ability to read and/or write to those tags. I consider myself a beginner when it comes to PLC and Java programming, so I would like to know if guys can assist me somehow. I said JAVA

Send TCP/IP message from PLC to PC using Ladder Program

邮差的信 提交于 2020-01-02 07:53:10
问题 Consider the following Ladder Program that checks if a connection is enabled (A202.00) then send a message from the PLC to the PC. The documentation (Omron CX-Programmer) has a severe lack of explanation of the program convention. What I do not understand is: To send a message from a node to a node. I should need to specify the receiver ID. It seems the function block does not have an option where I can insert an IP address. Am I supposed to MOV an IP address to a DM address (D300) then use