对编写单片机与欧姆龙PLC串口通信遇到问题做一些小结(全文)_单片机与plc串口通信
对编写单片机与欧姆龙PLC串口通信遇到问题做一些小结(全文)由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“单片机与plc串口通信”。
对编写单片机与欧姆龙PLC串口通信遇到问题做一些小结
2011-07-15 11:28:31|分类:|标签: |字号大中小 订阅
1,程序发的数据包太多了,并且数据包的定义是RAM的,很容易造成单片机的RAM不够,因为单片机默认的RAM是128个字节,不过可以扩展高的128个字节,范围在80H-FFH,定义是这样定义的,char idata
XX[]:
如果这样不够的话就只能在想办法来解决这个问题,找一些规律啊,或是改成查表的形式,定义成code 类
型:uchar code XX[]:
2.程序中的要对一些数据进行掉电保存,我这里用到了单片机内部自带的EEROM,在编写程序中也遇到
一些问题,只能保存一个数据,后面:后面调了一下程序:发现一个问题,就是每个对数据进行更新的话,都要对你定义的所以地址的内
容进行,然后在写入,单对某个地址的话就是不行,:
//=======================对保存的四个数据位进行清除扇区
Sector_Erase(add1);
Sector_Erase(add2);
Sector_Erase(add3);
Sector_Erase(add4);
_nop_();_nop_();_nop_();//===小延时一下
//=====================写入要保存的数据位,也是一次要保存好4个数据,不能单一进行了,不然就
会只能保存一个数据
Byte_Program(add1,key_count);
Byte_Program(add2,(char)CLAMP_flag);
Byte_Program(add3,(char)CONV_flag);
Byte_Program(add4,(char)MODE_flag);
3,我这里的PLC用的通信协议是:9600BPSN 7 2
也就是:一个起启位,7个数据位,两个停止位,无校验的形式;
这个我在单片机中用的通信协议是:9600BPSN 8 1
也就是:一个起启位,8个数据位,一个停止位,无校验的形式;
这些两个协议就不对了,哪就要去兼容了,根据数据的原理,我们只在发的数据的最高位是1(也就是一
个停止位)就可以兼容这种PLC的通信协议的形式了:
IIC总线通信协议————数据传输高位在前p233 1,起始和停止条件开始信号:SCL为高电平,SDA由高电平向低电平跳变,开始传送数据。 void start() // 开始位 { SDA = 1;//SDA初始化为......
Private Sub Form_Load()Dim i As Integer'OPEN COM1If ComTrue(1) = 0 ThenIf ComOpen(1, 38400, 7, 1, 1, "sjh") = 1 Then 'MsgBox ("已注册")'sjh为你的注册账号......
绪 论 可编程控制器(PLC)是在计算机技术、通信技术和继电器控制技术的发展基础上开发出来的,现已广泛应用于工业控制的各个领域。它以微处理器为核心,用编写的程序进行逻辑控制......
一.单片计算机是将电子计算机的基本环节,如:CPU(又称中央处理器,主要由运算器,控制器组成),存储器,总线,输入输出接口等,采用集成电路技术集成在一片硅基片上.由于单片计算......
VB与三菱PLC通信VB源代码下载http://www.daodoc.com/download.action?t=40&k=MTQzOTcxMTM=&pcode=LCw1NTkwMzYsNTU5MDM2&rPLC以卓越的可靠性和方便的可编程性广泛应用于工业控......
