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

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