51单片机与三菱PLC通讯实例

合集下载

三菱PLC的通讯与编程案例

三菱PLC的通讯与编程案例

三菱PLC的通讯与编程案例三菱FX系列PLC作为三菱基本的PLC,它们之间的通讯有几种常用的方式,分别如下:CC-LINK,N:N网络连接,并联连接。

1.CC-LINK连接CC-LINK连接图如下:对应的PLC可为FX1N、FX1NC、FX2N、FX2NC、FX3U、FX3UC,因为在使用CC-LINK 通讯时要扩展CC-LINK模块,而FX1S没有扩展模块功能,故FX1S不能用于此通讯方式。

2)FX1N/FX2N/FX3U即可以作为主站,也可以作为远程设备站使用。

此种通讯因为要加CC-LINK通讯模块,所以成本较高。

3)在CC-LINK网络中还可以加入变频器伺服等符合CC-LINK规格的设备。

2.N:N网络连接N:N网络连接连接图如下:3.并联连接并联连接图如下:1)通讯对象是FX1S、FX1N、FX1NC、FX2N、FX2NC、FX3U、FX3UC同一系列的PLC之间。

2)该通讯在PLC间进行1:1通讯,进行数据交换,只能满足2台PLC的通讯。

一、N:N网络通讯1、通讯解决方案用FX2N,FX2NC,FX1N,FXON可编程控制器进行的数据传输可建立在N:N的基础上。

使用此网络通讯,它们能链接—个小规模系统中的数据。

2、相关标志和数据寄存器对于FXlN/FX2N/FX2NC类可编程控制器,使用N:N网络通讯辅助继电器,其中M8038用来设置网络参数,M8183在主站点的通讯错误时为ON,M8184到M8190在从站点产生错误时为ON,(第1个从站点M8184,第7个从站点M8190)M8191在与其它站点通讯时为ON数据寄存器D8176设置站点号,0为主站点,1到7为从站点号D8177设定从站点的总数,设定值1为1个从站点,2为两个从站点;D8178设定刷新范围,0为模式0(默认值),1为模式1,2为模式2;D8179 主站设定通讯重试次数,设定值为0到10;D8180 设定主站点和从站点间的通讯驻留时间,设定值为5到255,对应时间为50到2550ms案例该系统有三个站点,其中一个主站,两个从站,每个站点的可编程控制器都连接一个FX2N-485-BD通讯板,通讯板之间用单根双绞线连接。

三菱PLC与arduino自由通讯及其I2C通讯

三菱PLC与arduino自由通讯及其I2C通讯

三菱PLC与单片机arduino通讯主要准备一个三菱FX3U PLC、arduino uno、arduino mega 2560、TTL转RS485通讯模块三菱FX3U PLC自由收发来自arduino mega 2560的消息,消息包含字母、数字;功能为读取arduino mega 2560的A0到A7渎值、数字引脚2到9的高低电平变化arduino mega 2560作为PLC的IO扩展,及其收发消息中心arduino uno作为arduino mega 2560的输出执行,arduino uno的输出通过继电器放大作为PLC的输入,总体实现基础闭环控制没法上传原文件,有需要原文件的联系我345827819arduino mega 2560代码:#include <Wire.h>char ca[9]={'O','O','O','O','O','O','O','O','O'};char cc[9]={'Z','Z','Z','Z','Z','Z','Z','Z','Z'};int cd[9]={0,0,0,0,0,0,0,0,0};int i,a,b=0;char x;const char HEADER='H';int plc [28];//8位数PLC读数,字节低高排布字节int pla[20];//高低字节合并,剔出数据溢出int pl[10];//8位数PLC读数int data[8]={0,0,0,0,0,0,0,0};unsigned char plb[6];//8位数PLC读数unsigned char item[2] = {0x02,0x03 }; //发送报头报尾const int ad=0;const int ad1=1;const int ad2=2;const int ad3=3;const int ad4=4;const int ad5=5;const int ad6=6;const int ad7=7;void setup(){Serial.begin(9600);Serial1.begin(38400);Serial3.begin(19200);Wire.begin();for(int i=2;i<=9;i++)//定义数字引脚2到9{pinMode(i,INPUT);digitalWrite(i,HIGH);}}void loop(){IC();int values=0;int a ;int c=0 ;int d=0 ;unsigned int b ;//无符号实数int bit =0;data[0]=analogRead(ad);data[1]=analogRead(ad1);data[2]=analogRead(ad2);data[3]=analogRead(ad3);data[4]=analogRead(ad4);data[5]=analogRead(ad5);data[6]=analogRead(ad6);data[7]=analogRead(ad7);/*.........发送开始.........*/for(int i=2;i<=9;i++){bitWrite(values,bit,digitalRead(i));//位操作,将2到9引脚电平,合为一个8位数bit=bit+1;}sendBinary(values);//以二进制发送2到9for(int i=0;i<=7;i++){sendBinary(data[i]);}delay(200);/*.........发送结束.........*//*.........接收开始.........*/while(Serial3.available()>0){for(int i=0;i<=27;i++){ plc[i]=Serial3.read(); //接收PLC数据}for(int i=0;i<=19;i++){b=word(plc[i+1],plc[i]);//合成数据pla[i]=b;}for(int i=0;i<=9;i++)//筛选数据{ pl[i]=pla[c];c=c+2;Serial.println(pl[i],DEC); //打印数据}for(int i=20;i<=28;i++)//筛选数据{ plb[d]= plc[i];d=d+1;}for(int i=0;i<=7;i++){Serial.write(plb[i]);}}/*.........接收结束.........*/}void sendBinary(int value)//分解数据{Serial3.write(lowByte(value)); Serial3.write(highByte(value));}void IC(){while(Serial.available()>0){char x=Serial.read();Serial.println(x);delay(200);if(x=='A'){cd[0]=1;}else if(x=='B'){cd[1]=1;}else if(x=='C'){cd[2]=1;}else if(x=='D'){cd[3]=1;}else if(x=='E'){cd[4]=1;}else if(x=='F'){cd[5]=1;}else if(x=='G'){cd[6]=1;}else if(x=='H'){cd[7]=1;}else if(x=='I'){cd[8]=1;}else if(x=='a'){cd[0]=0;}else if(x=='b'){cd[1]=0;}else if(x=='c'){cd[2]=0;}else if(x=='d'){cd[3]=0;}else if(x=='e'){cd[4]=0;}else if(x=='f'){cd[5]=0;}else if(x=='g'){cd[6]=0;}else if(x=='h'){cd[7]=0;}else if(x=='i'){cd[8]=0;}else{Serial.println("WAIT");}for(int i=0;i<=8;i++){Serial.print(cd[i]);}for(int i=0;i<=8;i++){if(cd[i]==1){cc[i]='O';}if(cd[i]==0){cc[i]='Z';}}if(cd[8]==1){for(int i=0;i<=8;i++){cd[i]=0;}}Serial.println(cc);Wire.beginTransmission(8);Wire.write(cc);Wire.endTransmission();Serial.println(cc);}} 、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、Arduino从机程序#include <Wire.h>char CP[9] ;int i=0;void setup(){Wire.begin(8); // join i2c bus with address #8 Wire.onReceive(receiveEvent); // register eventSerial.begin(9600); // start serial for outputpinMode(2,OUTPUT);pinMode(3,OUTPUT);pinMode(4,OUTPUT);pinMode(5,OUTPUT);pinMode(6,OUTPUT);pinMode(7,OUTPUT);pinMode(8,OUTPUT);pinMode(9,OUTPUT);digitalWrite(3,HIGH);digitalWrite(4,HIGH);digitalWrite(5,HIGH);digitalWrite(6,HIGH);digitalWrite(7,HIGH);digitalWrite(8,HIGH);digitalWrite(9,HIGH);digitalWrite(2,HIGH);}void loop(){delay(100);/* Serial.println(CP); */if(CP[0]=='O'){digitalWrite(2,LOW);}else{digitalWrite(2,HIGH);}if(CP[1]=='O'){digitalWrite(3,LOW);}else{digitalWrite(3,HIGH);}if(CP[2]=='O'){digitalWrite(4,LOW);}else{digitalWrite(4,HIGH);}if(CP[3]=='O'){digitalWrite(5,LOW);}else{digitalWrite(5,HIGH);}if(CP[4]=='O'){digitalWrite(6,LOW);}else{digitalWrite(6,HIGH);}if(CP[5]=='O'){digitalWrite(7,LOW);}else{digitalWrite(7,HIGH);}if(CP[6]=='O'){digitalWrite(8,LOW);}else{digitalWrite(8,HIGH);}if(CP[7]=='O'){digitalWrite(9,LOW);}else{digitalWrite(9,HIGH);}if(CP[7]=='O'){digitalWrite(9,LOW);}else{digitalWrite(9,HIGH);}}void receiveEvent(int howMany){while (0< Wire.available()){/* if('z'==Wire.read() ||'O'==Wire.read())*/for(int i=0;i<=8;i++){ CP[i]= Wire.read();Serial.println(CP[i]);}}}三菱PLC程序。

三菱FX5u PLC之间以太网简易连接无线通信方案

三菱FX5u PLC之间以太网简易连接无线通信方案

三菱FX5u PLC之间以太网简易连接无线通信方案简易PLC间链接功能,就是在最多8台FX5u可编程控制器或者FX3u可编程控制器之间,进行软元件相互链接的功能。

在实际系统中,同一个车间里分布多台PLC,通常距离在几十米到上百米不等。

在有通讯需求的时候,如果布线的话,工程量较大且不美观,这种情况下比较适合采用无线通信方式。

本方案以三菱FX5u-32MR PLC为例,介绍两台FX5u-32MR PLC以太网简易连接下的以太网无线通讯实现过程。

在本方案中采用了达泰PLC无线通讯终端——DTD419M,作为实现无线通讯的硬件设备。

一、方案概述本方案中,用户无需更改网络参数和原有程序,也不必了解协议细节,通过PLC无线通讯终端--DTD419M,即可直接替换PLC之间有线以太网通讯,且稳定方便的实现无线通讯。

无线网络图▼二、测试设备与参数●三菱PLC型号:FX5u-32MR×2台●达泰PLC无线通讯终端——DTD419MA×2块●主从关系:1主1从●通讯接口:RJ45接口●通讯协议:简单CPU通讯●供电:12-24VDC●传输距离:100米,1KM三、达泰PLC无线通讯终端--DTD419M达泰DTD419M采用2x2两发两收无线架构,空中传输速率高达300Mbps,兼容三菱MELSOFT连接、MC、BCNetTCP、Scoket、Modbus TCP等通讯协议,并采用OFDM调制及MINO技术,使无线可靠传输距离达到1KM范围内均可使用。

DTD419M不仅能与PLC、DCS、智能仪表及传感器等设备组成无线测控系统,同时能与组态软件、人机界面、触摸屏、测控终端等工控产品实现点对点和点对多点的远程无线组网,将分散不便于挖沟布线的设备连接在一起,不需要编写程序,不需要布线,并且稳定可靠。

■主要特征:◆可以直接代替有线以太网线,实现无线组网;◆支持三菱MELSOFT连接、MC、BCNetTCP、Scoket、Modbus TCP等通讯协议;◆全数字无线加密传输方式,不插卡无运行费用;◆无需更改程序,即插即用,自适应接口协议;◆二十年工业现场运行经验:可确保无线产品工作于各种恶劣环境下的工业场合长期运行。

三菱PLC与工控机网口通讯

三菱PLC与工控机网口通讯

三菱PLC与工控机网口通讯三菱PLC(可编程逻辑控制器)与工控机网口通讯工业自动化的发展,离不开可编程逻辑控制器(PLC)和工控机的应用。

作为工业自动化领域的两个核心设备,PLC和工控机之间的通讯变得至关重要。

在这方面,三菱PLC与工控机网口通讯技术的应用表现出了出色的性能和稳定性,为工业自动化带来了更大的便利。

三菱PLC作为一种常见的工业自动化控制设备,广泛应用于各个领域。

工控机则是专门用于工业自动化系统的计算机,通过工控机,可以实现对PLC进行监控、数据采集和控制等功能。

而PLC与工控机之间的通讯,则需要通过网口进行数据的传输。

三菱PLC与工控机网口通讯的实现,离不开现代通讯协议的支持。

目前,工业领域常用的通讯协议有Modbus、Profibus以及Profinet等。

三菱PLC内置了丰富的通讯功能模块,可以与各种通讯设备进行连接。

工控机则通过软件或硬件的方式,将通讯协议与PLC进行集成,从而实现与PLC的通讯。

三菱PLC与工控机网口通讯的优势主要表现在以下几个方面:1. 灵活性:三菱PLC与工控机网口通讯可以基于不同的通讯协议,满足不同工业场景对通讯的要求。

同时,通过网口进行通讯,可以灵活地配置网络拓扑结构,提高系统的可扩展性。

2. 可靠性:三菱PLC与工控机网口通讯采用高速的数据传输方式,确保数据的实时性和准确性。

同时,工控机具有强大的计算能力,可以及时处理传输过来的数据,提供精确可靠的控制指令。

3. 效率性:三菱PLC与工控机网口通讯能够实现对PLC的远程监控和控制。

这样,工程人员可以通过工控机监控PLC的运行状况和数据变化,及时发现潜在问题并采取措施,提高生产效率和降低故障率。

4. 扩展性:三菱PLC与工控机网口通讯技术支持多机联网,可以同时连接多个PLC和工控机。

这样,可以实现工业生产中不同设备之间的数据共享和互联互通,提高整体系统的智能化水平。

需要注意的是,在三菱PLC与工控机网口通讯过程中,安全性也是一个重要的考虑因素。

三菱plc网口与计算机通讯设置

三菱plc网口与计算机通讯设置

三菱plc网口与计算机通讯设置现代工业自动化生产中,PLC(可编程逻辑控制器)被广泛应用于各种设备和机器的控制与调节。

而与计算机通讯是PLC的一个重要功能之一,通过与计算机的通信,可以实现实时监控、数据采集、远程调试等功能。

本文将介绍如何进行三菱PLC网口与计算机的通讯设置。

一、准备工作首先,我们需要确保PLC与计算机之间可以通过网口进行通讯。

网口是PLC与计算机之间的物理连接,通常通过网线将PLC与计算机相连。

在连接过程中,需要注意插头的方向以及网线的质量,以保证通讯信号的稳定和可靠性。

二、配置PLC设置在正式进行通讯设置之前,我们需要登录到PLC的编程软件中,进行相关配置。

首先,选择编辑功能菜单中的通讯参数设置,进入PLC与计算机通讯设置界面。

在该界面中,我们需要设置通讯口的类型、端口号、通信方式等参数。

通常情况下,三菱PLC的网口通信支持以太网、Modbus TCP等协议,根据实际需求进行选择,并按照说明书上的要求设置通讯参数。

三、计算机网络配置在进行PLC网口与计算机通讯之前,我们还需要进行计算机网络的配置。

首先,打开计算机的控制面板,选择网络和Internet选项,进入网络设置界面。

在网络设置界面中,选择适配器选项,找到与PLC相连的网卡,进行相关设置。

根据PLC的要求,设置网卡的IP地址、子网掩码、默认网关等参数。

需要注意的是,计算机的IP地址和PLC的IP地址必须处于同一子网中,才能进行通信。

四、编写通讯程序经过以上配置之后,我们就可以编写通讯程序来实现PLC与计算机之间的通讯了。

在编写通讯程序时,我们可以使用编程软件提供的相关函数和指令,或者使用专门的通讯库来进行开发。

根据具体的需求,可以实现不同的通讯方式,比如周期轮询、事件驱动等。

通讯程序中需要包括与PLC建立连接、数据交换、错误处理等逻辑,以确保通讯的稳定和可靠。

五、调试与优化通讯程序编写完成后,我们需要进行调试和优化,以确保通讯的正常运行。

51单片机与三菱PLC RS485通讯实例

51单片机与三菱PLC RS485通讯实例
硬件部分:
我用的是天祥单片机实验板,由于没有RS485接口,我利用ADM485芯片自制了一个485接口,如图,但如果要进行半双工通讯,须将P3.0口到下载程序的RS232芯片的线断开可用一个跳线,用RS485的时候断开RS232,用RS232的时候插上跳线帽。硬件连接如图
PLC程序:
通讯我用单片机做主机(只发送指令),PLC做从机(只接收指令),单工单向,以便初学着掌握。
sbit led=P1^1;/*将RS485置为发送数据模式*/
unsigned char i;
void init()
{
SCON=0x50;/*串口中断开*/
TMOD=0x20;/*定时器设置*/
TH1=0xfd;/*定时时间的高位*/
TL1=0xfd;/*定时时间的低位,速度为9600BPS*/
TR1=1;/*定时器开*/
格式:1位启始,8位数据,一位停止。
所以PLC寄存器D8120:0C81.
plc程序很简单不懂的可以看下三菱PLC的通讯手册。如下图:
三:单片机程序:
#include<reg52.h>/*单片机的头文件*/
unsigned char code tab[]={0x17,0xff};/*PLC输出的Y点数,PLC输出Y灯0125678亮*/
QQ:79814563注明时工控交友
电话:15250151540
姓名:黄辉
2011年12月17日Saturday
51单片机与三菱PLC无协议通讯成功
我用了两个晚上的时间查阅一些资料,利用三菱PLC的扩展RS485通讯板与其51单片机连接通讯,可写PLC任意的地址。长度可达1000米,看见网上写的都很烦且对三菱和单片机不是很熟的朋友来说有一定的阅读难度,今天将它与大家分享。希望在此基础上大家能扩展出自己想要的功能,过些时间有空我在写个半双工的程序。

浅谈用单片机模拟PLC(山寨三菱系列)

浅谈用单片机模拟PLC(山寨三菱系列)

浅谈用单片机模拟PLC(山寨三菱系列)读书的时候因为学的自动化所以一直以为PLC 是控制的王道,经常鄙视楼下电子系搞单片机的,而且灰常2B 的认为单片机都TM 弱电太娇气不耐艹玩单片机的都是吊丝!所以经常混迹于PLC 实验室电子实验室居然只去了几次,然而随着对单片机和PC 机的了解逐渐加深,越来越觉得自己当年的自己太傻太天真了哎个人觉得PLC 和单片机的关系就好比图章和圆珠笔一样,图章操作简单傻子能盖出漂亮的图案但缺点也显而易见灵活性太差了你不能用图章盖出一些复杂的图案,圆珠笔就正好相反虽然操作难度大点但灵活性强了n 个数量级。

既然单片机的灵活性那么强那么我们能用单片机来模拟PLC 吗,很明显是可以的而且PLC 的核心其实也是单片机,那么该怎么模拟PLC 呢?PLC 分程序和硬件部分,硬件部分主要是做好外围电路设计,实现PLC 的IO 输入输出功能,一般用光耦做IO 口电路设计提高单片机的抗干扰能力,做好稳定的电源设计,电源是可靠性的基础。

其实模拟PLC 的关键再于程序部分,思路是写个编译器把梯形图编译成单片机能执行的机器码,但写编译器工程太大了,我们只是模拟又不是造PLC 所以不用考虑写那种直接把梯形图编译成机器码的编译器了,我们可以把编译过程分解为梯形图>指令表>C51 代码>机器码,这样的话问题就简单多了梯形图转指令表可以手工完成或者写个图形编辑程序来完成但这不是重点,指令表转C51 代码才是模拟PLC 的灵魂所在,虽然是个伪编译器但每条指令的翻译都是蛋疼的过程,我肯定是没办法把所有的三菱指令都模拟出来的,要完成这个任务还得认真学学编译原理啊这是PLC 模拟程序的运行截图,对应指令表的逻辑,发现运行结果是正确的,虽然只完成了几条最简单指令的翻译而且与反指令还存在问题但毕竟思路是正。

用51单片机做简易PLC

用51单片机做简易PLC

用51单片机做简易PLC
最近在51hei单片机论坛上下载了一个PMW-HEX的软件,这个软件可以将三菱PLC编程软件编写的梯形图转换成HEX文件,再将这个HEX文件烧录到51 单片机上,这样51单片机就有了梯形图所编程的功能了。

我觉得蛮有意思的,虽然该软件并不能兼容PLC的所有功能,甚至说很多功能不能兼容,但基本的一些指令和少量的软元件已经足够做一些简单控制功能了。

基于这个我就想着自己动手做一个4入4出的简易PLC来玩玩吧,PMW-HEX的下载地址是:51hei/bbs/dpj-19820-1.html 想了就动手吧,否则以前学的一些电子知识就要荒废了。

因为手上只有AT89S52的单片机,那么就拿这款单片机来设计电路吧。

第一步,先设计供电电路。

按三菱PLC的模式,输入端的公共(COM)是DC24V的地(GND),所以就把DC24V电源作为供电电源。

单片机需要5V 供电,手上的继电器是DC12V的供电,所以这个供电电路就是24V转成12V再转成5V。

因为只是测试的用途所以仅用最简单的转换方法(目前还算可以用吧)。

 第二步,设计单片机的最小系统。

也就是用12M晶振配合谐振电容
(30P)电路和上电自动复位电路构成。

 第三步,设计开关量输入电路。

这里将仿效三菱PLC的输入,用DC24V
的GND作公共端,经开关返回。

这样就需要使用光耦521-4将DC24V的信号与单片机输入端的5V信号进行隔离转换。

 第四步,设计输出到继电器的电路。

由于我使用的是DC12V的继电器,所以也用了光耦521-4进行隔离转换,然后驱动三极管(9013),用三极管来驱动。

三菱A系列PLC CC-LINK 通讯方法实现

三菱A系列PLC CC-LINK 通讯方法实现

三菱A 系列PLC PLC CC CC CC--LINK 通讯方法的实现通讯方法的实现三菱PLC 网络通讯主要有:CC-LINK 通讯,H 网通讯及以太网通讯三种,下面分别简单介绍这三种通讯实现的方法。

这里只是介绍一些基本的通讯方法和注意事项,其它如站设定的详细方法请参看其相应模块的手册。

一、基本知识CC-LINK 中站的类型:远程I/O 站:作为子站,只处理I/O 开关量的站点,如:AJ65BTB1-16D (16点输入模块);远程装置(设备)站:能处理开关量和数字量的模块,如:AJ65BT-64AD (A/D 转换模块);本地站:具有CPU 能和主站或其它本地站通讯的模块,如:A3NCPU; 主站:控制远程I/O 站,装置站和本地站的站点。

二、A 系列PLC CC-LINK 通讯的实现A 系列PLC CC-LINK 的通讯相比Q 系列PLC 来说要麻烦一点,在Q 系列PLC 中实现CC-LINK 通讯只要在软件中组态就可以了,而A 系列PLC 则需要在程序中编程实现。

实际上,在编程时,只有搞清以下两方面就可以了:一是CC-LINK 的I/O 信号,二是CC-LINK 模块用于和CPU 交换数据的缓冲区(BFM),尤其是后者更为重要。

下面分别来说明:1、CC-LINK 模块的I/O 信号CC-LINK 模块的I/O 信号分是为了主CPU 联系用的,用来指明CC-LINK 模块的状态、通讯状态等一些开关量,可以被主CPU 直接使用,从而针对不同的情况让主CPU 做出不同的处理。

I/O 的名称和具体含义在这时里不在详述,可以参看A系列CC-LINK模块手册。

需要说明的是,这些信号的X和Y信号都是针对于主CPU来说的,X信号是从CC-LINK模块传送到主CPU的信号(对于CC-LINK模块来说是输出信号),Y信号是从主CPU到CC-LINK模块的信号(针对CC-LINK模块来说是输入信号),这点要注意区分,不要混淆。

三菱plc-fx1n与505通讯使用手册说明书

三菱plc-fx1n与505通讯使用手册说明书

山东凌远机电科技有限公司三菱PLC-FX1N与505通讯说明1.三菱FX1N说明1.1三菱通讯协议三菱通讯协议默认为:数据位7;奇偶校验:偶校验;停止位1;1.2三菱编程口说明编程口如图:2.TP505说明2.1产品简介TP-505是采用工业级设计,专门为工业PLC产品配套使用,为具备RJ-45网口、RS232或RS485的PLC产品提供远程下载程序和远程数据采集功能,如西门子、三菱、欧姆龙、松下、台达、永宏等品牌的PLC,通过高速的4G运营商网络,结合PLC配套软件或天启物联云平台,实现远程下载程序、采集数据。

TP-505不仅支持三大运营商的全部网络制式,并且配有两个RJ-45网口,一个可以wan 口lan口切换使用,一个RS232和一个RS-485串口。

全网的配置更突破了网络的局限,不仅支持4G网,也可工作在TD-SCDMA/WCDMA/EVDO等3G网络或GPRS/EDGE/GSM/CDMA 等2G网络下,并且支持不同网络制式的自动切换。

在没有4G信号的场合或者SIM卡不支持4G时,PLC-505可自动切换到3G或2G的网络。

TP-505使用方便,无需任何配置,即插即用。

使用天启物联云平台和网口通/串口通软件,可方便的与PLC配套软件集成,无需额外的集成开发工作。

TP-505以稳定、方便、易用、好用的特性为客户项目部署提供最大的便利。

2.2产品外观s2.3标准配件注意:由于客户出货要求的不同,配件也不一样,以上仅供参考。

2.4安装尺寸2.5工作原理1、网口使用方式TP-505通过交叉网线和PLC连接起来,TP-505通电后,利用无线网络拨号(或者有线网)连上Internet,然后发起对天启物联云平台的连接。

同时上位机电脑运行网口通软件也连接到天启物联云平台,通过网口通功能将PLC和上位机电脑置于同一个虚拟局域网中。

这样,用户通过编程软件就可以访问到PLC,并进行程序远程下载和远程数据采集操作。

《单片机基础与实训》案例一 单片机与三菱PLC通讯

《单片机基础与实训》案例一 单片机与三菱PLC通讯

案例一:单片机与三菱PLC通讯利用三菱PLC的扩展RS485通讯板与其51单片机连接通讯,可写PLC任意的地址。

长度可达1000米,一、硬件部分设计利用ADM485芯片自制了一个485接口与三菱PLC的扩展RS485通讯如图,但如果要进行半双工通讯,须将P3.0口到下载程序的RS232芯片的线断开可用一个跳线,用RS485的时候断开RS232,用RS232的时候插上跳线帽。

硬件连接如图,实验板使用天祥单片机实验板。

二、PLC程序编写通讯:单片机做主机(只发送指令),PLC做从机(只接收指令),单工单向,以便初学着掌握。

格式:1位启始,8位数据,一位停止。

所以PLC寄存器D8120:0C81.plc程序很简单不懂的可以看下三菱PLC的通讯手册。

如下图:三:单片机程序编写#include<reg52.h> /*单片机的头文件*/unsigned char code tab[]={0x17,0xff};/*PLC输出的Y点数,PLC输出Y 灯0125678亮*/sbit led=P1^1; /*将RS485置为发送数据模式*/unsigned char i;void init(){SCON=0x50; /*串口中断开*/TMOD=0x20; /*定时器设置*/TH1=0xfd; /*定时时间的高位*/TL1=0xfd; /*定时时间的低位,速度为9600BPS*/ TR1=1; /*定时器开*/EA=1; /*开总中断*/TI=0; /*复位串口中断*/led=1; /*将RS485置为发送数据模式*/}void main(){init(); /*调用子程序*/for(i=0;i<2;i++){SBUF=tab[i]; /*将数据发送到串口*/while(!TI); /*等待串口数据发送结束*/TI=0; /*复位串口中断*/}}注意点:1.RS485的线不能接反,否则数据将不正确。

51单片机DIY做PLC编程

51单片机DIY做PLC编程

51单片机DIY做PLC编程有朋友想定制一个净水机控制器,有一些独特的功能要增加,但是商品控制板没有这样的功能,问我能否做一个,我觉得单片机完全能满足这种简单的控制需要,上手开始编程序时候突然感到,用PLC逻辑编这种功能是非常简单轻松的,而如果用汇编或C编却感觉有点棘手,编程效率不高,所以想为何不在单片机上实现PLC的逻辑呢?上网搜索尝试看能否找到合适的程序下载来稍微改改就能用的呢?方案几年前就有了,实际上是利用三菱的低档PLC编程软件编辑好梯形图,存盘后用专用的格式转换工具转换成HEX单片机烧写文件烧进去,尝试下载三菱PLC工具软件,但是在我的WIN7-64位系统上不能正常工作,好容易换了系统装好开发工具,但是初次上手这款开发工具,界面挺复杂的,懒得研究各个按钮的使用,由于是单片机的硬件,对于程序的编制和转换有很多限制条件,否则是转换不成功的,嫌麻烦,放弃!某宝倒是有百元PLC板出售,但是为了这么个简单的东西专门买个全功能板子有点浪费,而且其编程软件仍然是三菱的盗版软件,算了,再想办法把。

由于工作中经常接触PLC程序,对其工作原理也略知一二,网上也有相关的说明介绍,其实就是三个主要步骤,第一步扫描IO输入,第二步执行逻辑,第三步输出逻辑到IO,很简单的,最早PLC也是用单片机实现的,我为何不用汇编在51上搭建一个架构,简单的逻辑编制进去就能运转呢?其中逻辑执行步骤还是有点意思的,需要把PLC逻辑翻译成单片机的汇编语言执行,这块开始也没有把握,后来搜索到一篇百度文章,介绍了一下三菱PLC逻辑是如何翻译成汇编的,我看了下估计其实是利用反汇编工具把HEX反编译成的ASM代码,并不清晰明了,而且还带着反汇编时候的行号,仅供参考了。

搜索结果中也有几篇论文,涉及到在51单片机上实现PLC逻辑的内容,但是那些论文都是充数的,仅仅几个IO逻辑,没有什么定时器,计数器功能的体现,哎!仅供参考!看来这个PLC系统还是需要自己写了!OK!既然决定自己重写,那就开工吧!利用春节休假时间,编制了如下ASM51汇编PLC代码:代码主要架构如下:1、IO定义部分:根据所使用的单片机IO口数量,任意指定多少个I多少个O,那几个脚是I,哪几个是O都可以任意指定,在这个51系统里面设计了最大32个I,32个O,占用64个位寻址区域,其实用不到那么多,也可以分配给其它需要的标志位用,因为51系统总可位寻址地址只有128位,需要仔细分配.2、位寻址变量定义(包括各类标志位,临时变量寄存器等等)目前设计了8个计时器的Timer DN, Timer EN,共16位,8个计数器的counter reset 和counter DN 标志位共16个,专用于上升沿下降沿检测的标志位4对,占用8个,剩余用于临时变量,这些地址分配在这块变量定义区域可以根据需要任意调整3、内存规划,包括堆栈区的设置,定时器,计数器的累加值和预设值地址等等,目前初步定义8个计数器的当前计数值和预设值,8个计时器的当前计数值和预设值,共占用32个内存地址,也可根据需要调整,51单片机片内总的用户可用内存地址包括堆栈区只有128个,实际去除位寻址区和堆栈区可用的估计只有80个左右,不过对于小程序应该够用的。

三菱plc网口通讯实例和源码

三菱plc网口通讯实例和源码

三菱plc网口通讯实例和源码近年来,随着工业自动化技术的不断发展,PLC (Programmable Logic Controller,可编程逻辑控制器)在生产过程中扮演着越来越重要的角色。

而在PLC的众多品牌中,三菱PLC以其高性能、稳定可靠的特点脱颖而出,成为了众多企业的首选之一。

本文将从三菱PLC网口通讯实例和源码两个层面,为大家介绍三菱PLC的网络通讯方法和应用案例。

一、三菱PLC网口通讯实例三菱PLC支持多种通讯方式,如串口通讯、以太网通讯等。

在工业现场中最常用的是以太网通讯方式,也称为网口通讯。

以太网通讯方式具有传输速度快、稳定性高等优点,可以满足工业控制的需求。

下面以FX系列PLC为例,简要介绍以太网通讯的实现步骤。

首先,我们需要将PLC和计算机通过以太网线连接起来。

在PLC的参数设置中,选择使用以太网通讯,并设置PLC的IP地址和子网掩码。

然后,在计算机的控制面板中,找到网络和共享中心,点击更改适配器设置,找到本地连接的属性,将IP地址设置为与PLC同一子网,确保两者在同一局域网内。

接下来,在PLC编程软件中,打开网口通讯功能,并设置通信参数,如PLC的IP 地址和端口等。

完成以上设置后,就可以进行以太网通讯了。

例如,我们可以使用编写一个简单的程序,实现与PLC的通讯。

首先,在程序中导入相应的PLC通讯库,然后设置通讯参数,如PLC的IP地址和端口等。

接着,编写相应的代码,通过TCP/IP协议与PLC进行数据交互。

例如,我们可以读取PLC中的某个数据寄存器的值,或者向PLC写入特定的数值。

在与PLC的通讯过程中,我们还可以设置相应的超时时间和错误处理机制,确保通讯的稳定和可靠性。

二、三菱PLC网口通讯源码在PLC的通讯过程中,源码的编写显得尤为重要。

下面以三菱FX系列PLC网口通讯为例,介绍一下相应的源码编写方法。

首先,在编程软件中选择语言,新建一个Windows窗体应用程序。

然后,在窗体中添加相应的控件,如文本框、按钮等。

三菱PLC与单片机间串口通信的实现

三菱PLC与单片机间串口通信的实现

三菱PLC与单片机间串口通信的实现叶翠安【摘要】文中利用PLC和单片机之间的串口通信,将PLC系统的数据传送到单片机系统进行显示,单片机系统除了显示功能还可模拟工况输入,实现了辅助锅炉改造升级,使得辅助锅炉既可用于真正的操作训练,又可通过改造的MIMIC模拟屏进行仿真教学训练,既节省教学过程的油耗,教学过程又安全,发挥了各自的优势,实践证明,较好地满足教学和评估的要求.【期刊名称】《船电技术》【年(卷),期】2015(035)005【总页数】4页(P66-69)【关键词】PLC;单片机;串行通信【作者】叶翠安【作者单位】广东交通职业技术学院,广州510800【正文语种】中文【中图分类】TP2730 引言锅炉是供生产和生活上使用的一种热能设备,如果管理不善或使用不当,往往会引起事故,轻则停炉影响生产,重则发生爆炸,造成人身伤亡,损坏厂房、设备,后果十分严重。

国内外都把事故危害较大的锅炉作为一种特殊的热能装置,从设计、制造到管理操作都有严格的标准。

文中船舶辅助锅炉原来是从船上拆下,已将控制系统改造为PLC控制系统,使用中发现,每次教学训练,训练油耗大,也不易于在训练中设置设备的临界危险状态。

由于锅炉的操作管理过程比较严格,系统复杂,安全系数高,若完全采用真实锅炉来训练,除了油耗,直观性也不好,学员训练印象难以深刻。

为了改善船舶辅助锅炉教学装置的性能和功能,满足教学和评估需要,更好进行教学,添置了一个MIMIC屏和触摸屏,利用PLC与单片机组成新的控制系统,通过输入输出接口和实物锅炉结合,组成一个带声、光多媒体的半实物连续仿真系统,使学员在培训和考核中具有逼真的真实感,达到虚拟现实的效果,系统升级改造后,效果良好。

系统设计与构成如图1所示。

1)实物辅助锅炉:用于学生现场真实操作训练,培训和考核。

2)测控系统:是整个系统的控制核心,负责数据的采集,采用三菱FX2N-64MR,FX2N-485BD,FX2N-4AD。

三菱FX系列plc与pc机通讯设置

三菱FX系列plc与pc机通讯设置

三菱FX系列plc与pc机通讯设置PC机与PLC实现通信的条件带异步通信适配器的PC机与PLC只有满足如下条件,才能互联通信:(1)带有异步通信接口的PLC才能与带异步通信适配器的PC机互联。

还要求双方采用的总线标准一致,否则要通过“总线标准变换单元”变换之后才能互联。

(2)双方的初始化,使波特率、数据位数、停止位数、奇偶校验都相同。

(3)要对PLC的通信协议分析清楚,严格地按照协议的规定及帧格式编写PC机的通信程序。

PLC中配有通信机制,一般不需用户编程。

3PC机及与FX系列PLC的串行通讯3.1硬件连接PC机与FX系列PLC不能直接连接,要经过FX-232AW单元进行RS232C/RS-422的变换,下图表示了它们之间的连接关系:3.2FX系列PLC的通信协议在PC机中必须依据互联的PLC的通信协议来编写通信程序,因此先介绍FX系列PLC的通信协议。

(1)数据格式FX系列PLC采用异步格式,由1位起始位、7位数据位、1位偶校验位及1位停止位组成,波特率为9600bps,字符为ASCII码。

格式如下:(2)通信命令FX系列PLC有4个通信命令,它们是读命令、写命令、强制通命令、强制断命令,如下表所示。

表中X—输入继电器;Y—输出继电器;M—辅助继电器;S—状态元件;T—定时器;C—计数器;D—数据寄存器。

(3)通信控制字符FX系列PLC采用面向字符的传输规程,用到5个通信控制字符,如下表所示。

*当PLC对PC机发来的ENQ不理解时,用NAK回答。

(4)报文格式PC机向PLC发送的报文格式如下:其中STX为开始标志:02H;ETX为结束标志:03H;CMD为命令的ASCII码;SUMH,SUML为从CMD到ETX按字节求累加和,溢出不计。

由于每字节十六进制数变为两字节ASCII代码,故校验和为SUMH与SUML。

数据段格式与含义如下:*写命令的数据段有数据,读命令的数据段则无数据。

读/写字节数为01H~40H(1~64)个。

三菱梯形图转51单片机软件 PMW-HEX 说明书

三菱梯形图转51单片机软件 PMW-HEX 说明书

三菱梯形图转51单片机软件(PMW-HEX)
使用说明书
单片机开发工程技术人员的最佳选择
注意:
1、软件没有注册时限制为梯形图步数50步以内;
2、注册后没有步数限制,以后此软件升级免费;
3、购买注册码请直接联系:
Q Q:383842790
TEL:021********
使用注意
•转换软件支持三菱梯形图软件FXGP/WIN或用GX软件编程后转为FXGP格式的文件
•PLC程序转换代码较大,需选用容量超过8K的单片机,如:STC89C52以上
AT89C52 以上
•此软件文件夹不能放在桌面上使用,文件夹不能用中文名字,名字间不能有空格
•如果你的操作系统隐藏了文件的扩展名,请打开,不然会找不到生成的FX1N.HEX文件
•如果想对生成的HEX文件保存,请改文件名为*.HEX,其中*代表你设定的除FX1N以后的代码文件。

•软件支持三菱梯形图编程指令如下,此指令外的不能用此转换软件转换。

使用此软件需掌握的知识
转换软件梯形图软件双龙编程器
软件界面结构及功能
3 1
4
5
6 7
8
2
P口脚位;
8、如使用外部存储器时,要在上面打钩,并按实际对应
三菱梯形图转换步骤
转换步骤举例如下
谢谢您的使用。

用VB实现微机与三菱A系列PLC之间的串行通信

用VB实现微机与三菱A系列PLC之间的串行通信

用VB实现微机与三菱A系列PLC之间的串行通信
杨天玉
【期刊名称】《电气自动化》
【年(卷),期】2000(022)003
【摘要】介绍计算机与三菱A系列PLC通讯模板的接口以及用VB实现二者串行通信的方法,并给出了示例程序.
【总页数】2页(P48-49)
【作者】杨天玉
【作者单位】中国长城铝业公司,450041
【正文语种】中文
【中图分类】TP3
【相关文献】
1.用VB实现微机与三菱A系列PLC之间的串行通讯 [J], 郝玉东;武茜
2.用VB6.0实现三菱PLC与微机的通讯 [J], 周海涛
3.基于VB的三菱FX系列PLC与PC串行通信的实现 [J], 华路光;官峰
4.用VB6.0实现微机与单片机之间的串行通信 [J], 李翀翎
5.用VB实现上位机与PLC之间的串行通信 [J], 田红芳
因版权原因,仅展示原文概要,查看原文内容请购买。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
unsigned char code tab[]={0x17,0xff};/*PLC输出的Y点数,PLC输出Y灯0125678亮*/
sbit led=P1^1;/*将RS485置为发送数据模式*/
unsigned char i;
void init()
{
SCON=0x50;/*串口中断开*/
TMOD=0x20;/*定时器设置*/
{
SBUF=tab[i];/*将数据发送到串口*/
while(!TI);/*等待串口数据发送结束*/
TI=0;/*复位串口中断*/
}
}
四:注意点。
1:RS485的线不能接反,否则数据将不正确。
2:单片机的晶振要选择11.0592MHZ,否则PLC接收到数据也不正确。
3:RS485芯片的电源不能接反,否则要烧坏芯片。
硬件部分:
我用的是天祥单片机实验板,由于没有RS485接口,我利用ADM485芯片自制了一个485接口与三菱PLC的扩展RS485通讯如图,但如果要进行半双工通讯,须将P3.0口到下载程序的RS232芯片的线断开可用一个跳线,用RS485的时候断开RS232,用RS232的时候插上跳线帽。硬件连接如图
51单片机与三菱PLC无协议通讯成功
我用了两个晚上的时间查阅一些资料,利用三菱PLC的扩展RS485通讯板与其51单片机连接通讯,可写PLC任意的地址。长度可达1000米,看见网上写的都很烦且对三菱和单片机不是很熟的朋友来说有一定的阅读难度,今天将它与大家分享。希望在此基础上大家能扩展出自己想要的功能,过些时间有空我在写个半双工的程序。
PLC程序:
通讯我用单片机做主机(只发送指令),PLC做从机(只接收指令),单工单向,以便初学着掌握。
格式:1位启始,8位数据,一位停止。
所以PLC寄存器D8120:0C81.ቤተ መጻሕፍቲ ባይዱ
plc程序很简单不懂的可以看下三菱PLC的通讯手册。如下图:
三:单片机程序:
#include<reg52.h>/*单片机的头文件*/
TH1=0xfd;/*定时时间的高位*/
TL1=0xfd;/*定时时间的低位,速度为9600BPS*/
TR1=1;/*定时器开*/
EA=1;/*开总中断*/
TI=0;/*复位串口中断*/
led=1;/*将RS485置为发送数据模式*/
}
void main()
{
init();/*调用子程序*/
for(i=0;i<2;i++)
今天要去山东调试机器,现在正在高铁上,刚好有空把这篇心得写好,有错误的地方还请大家指正,也希望有共同爱好的一起交流心得。
QQ:79814563注明时工控交友
电话:15250151540
姓名:黄辉
2011年12月17日Saturday
相关文档
最新文档