通道断电器模块 6AV6 545-0BB15-2AX0
通道断电器模块 6AV6 545-0BB15-2AX0
通道断电器模块 6AV6 545-0BB15-2AX0
-------------------------------------------------
厦门阿米控技术有限公司
侯典龙手机微信同号:18150117686
电话:0592-5856213
QQ:2851195464
地址:厦门市思明区湖滨南路388号国贸大厦32楼D单元
-------------------------------------------------
****************************************************************************
多年来,阿米控一直专门从事制造商的PLC系统模块,工业备品和备件的销售。
在我们的库存中,您会找到优质零件。我们甚至可以采购已经被制造商停产很长时间并且不在生产的产品。我们很乐意为您提供帮助,以确保您的公司没有任何工厂和生产故障,而且价优!
****************************************************************************
MURR Switch Mode Power Supply 85381 MSC-A 4-110-240/30
B&R DI 475 3DI475.6
bbbemecanique Altivar11 ATV11HU05M2E
Siemens Simatic S7 6ES7416-2XK02-0AB0 6ES7 416-2XK02-0AB0
Siemens Simatic S5 S5-95U 6ES5 095-8MB02 6ES5095-8MB02
Siemens Simatic S5 6ES5 942-7UA13 6ES5942-7UA13
Allen Bradley Compact I/O 1769-IQ32
Endress + Hauser E+H FTC 420
SEW Eurodrive Optionskarte DFP21B
B&R 12 SLOT CIRCUIT BOARD MB264/1
B&R AC 130 8AC130.60-1
Sick WLL12-B5381
Omron PD022 CJ1W-PD022
Siemens Simatic S7 6ES7307-1BA01-0AA0
Pepperl+Fuchs LV28-LAS-F1/47/82b/105
Leuze electronic RK 93/2-150
Leuze Electronic SLSE 96K/P-1207-T2-41
SEW Eurodrive DBG60B-04
Moeller EMT6-DB
Moeller EBE 200
Siemens 6EP1436-3BA00
Beckhoff BK5110
Siemens 6FR2490-0AH12
H&B Transbbbber P40 28440-0-1634114
Siemens 6ES7322-1BH01-0AA0 6ES7 322-1BH01-0AA0
Siemens 6ES7 322-1BF01-0AA0 6ES7322-1BF01-0AA0
MGV SPH240-4805
Sick AD-ATM60-KA3PR
Coutant Lambda Omega MML200 MML200/P3
Legrand 44294
Man Roland INK Box Interface Type1 IPS.IBI-1 16.86929-0006
Man Roland PUC-1 16.86227-0010
Omron E5GN-Q1T-C
.上位计算机通信程序设计
以读取PLC输出线圈Y0为首的2个字节的数据为例,编写一个通信程序。查PLC软元件地址表可知,输出线圈Y0的首地址为00A0H,2个字节的数据即为Y0-Y7和Y10-Y17,根据返回的数据,就可以知道PLC此时的状态,以实现对PLC的监控。在每一次读操作之前,先要进行握手联络。对PLC发请求讯号ENQ,然后读PLC的响应讯号。如果读到的响应讯号为ACK,则表示PLC已准备就绪,等待接收通讯数据。
BOOLCPlcComDlg::ReadFromPLC(char*Read_char,char*Read_address,intRead_bytes)
{CSerialSerial;//用于串行通讯的类
if(Serial.Open(1))//初始化串行通讯口COM1
{Serial.SendData(&ENQ_request,1);//发送联络讯号
Sleep(20);//等待20ms秒
Serial.ReadData(&read_BUFFER,1);//读取PLC响应讯号
if(read_BUFFER==ACK){
……
Serial.SendData(&STX_start,1);//向PLC发送“开始”标志代码
Serial.SendData(&CMD0_read,1);//发送“读”命令代码
datasum_check+=CMD0_read;
for(i=0;i<4;i++){
Serial.SendData(&Read_address[i>,1);//发送起始元件地址的ASCⅡ代码
……
Serial.SendData(&ETX_end,1);//发送结束标志代码
Change_to_ASCII(senddatasum_CHECK,datasum_check);//将“和”转化成ASCⅡ代码
Sleep(40);//等待PLC的反应
……
Serial.ReadData(&Read_char[i>,1);//读Read_bytes个字节
if(*readdatasum_CHECK==*readdatasum_check)//“和”效验
{AfxMessageBox("数据读取成功!");
returnTRUE;}
else{AfxMessageBox("校验错误!");
returnFALSE;}}
}
5.结束语
本文作者创新点:笔者提出了一种基于多线程的PC机与PLC的通讯,该通讯程序采用VC比用VB具有更好的实时性;并采用MFC编程方法用重叠结构读写串口,使串口读写在后台进行。该通讯程序可靠、可移植性好。
本通讯程序作为该系统的一个重要组成部分,经现场调试证明,既简单又实用,具有很好的实用价值。同时,该系统具有直观的人机界面和方便的操作方式,具有广阔的应用前景。