PLC与PC计算机通信简要说明

已锁定

kind

  • 帖子

    231
  • 精华

    2
  • 被关注

    7

论坛等级:侠士

注册时间:2010-11-23

普通 普通 如何晋级?

PLC与PC计算机通信简要说明

672

0

2011-02-18 13:16:10

PLC与PC计算机通信简要说明
常用的上位机通讯程序的作用就是接收PLC送过来的数据,也可能还要向PLC发送数据。所谓的“无协议通讯”实际上真正的含义应该是“未采用业界现行的一些标准通讯协议(比如modbus协议),而是按自己定义协议编写程序”。
所谓“通讯协议”的概念说白了实际上就是对如下一些问题作出明确的约定:
  1、上位机于下位机之间需要交换哪些数据
  2、按什么格式发送这些数据
  我这里来举两个简单的通讯协议的例子,希望以此能让新入行的朋友们对“通讯协议”这个看上去很深奥,其实很简单的东东能有个清楚的认识:
  例1:某项目中,PLC需要每隔1秒钟把一个温度测量值送往上位机,上位机不需要向PLC返回任何信息。
  分析:这是个最简单的通讯协议的例子,发送对象只有一个,所以我们在通讯协议中只需把这么几条说清楚就可以:
  1、所发送数据的含义
   比如你PLC发来一串字符“1234”,作为上位机首先需要知道的当然是“PLC送来的这个数值是什么数据"。在我们这个例子中,很简单,就是所测的温度值。
  2、数据发送的格式

  明确了数据的含义,那么下面需定义的就是数据的格式了。所谓数据格式,说句大白话就是你PLC发来的“1234”这个数据,是不是就代表当前温度就是1234℃,如果不是,那么我上位机还需再作什么样的处理后才能得到当前真正的温度。我们假设在这个例子中,PLC发送的温度值为4位数,前两位代表温度值的“十位”和“个位”,后两位代表小数点后1位和后两位,即发送来的数值“1234”并不是代表当前温度为1234℃,上位机还需把这个数值再乘以 0.01才是当前真正的温度.
  这样,一个最简单的协议就完成了。协议写好了,那么PLC和上位机各自通讯程序的任务也就清楚了吧。 PLC的任务就是把温度值按4位整数的格式发往上位机,而上位机的任务呢,就是接收这些数据,并把收到的数据再乘以0.01,得出实际的温度值。 
例2:在例1的基础上,我们再作些变化,原先是只采集一个数据,现在增加为采集A,B,C 3路温
  分析:由于1次要发送3个温度值,所以例1中的“纯数字格式”无法再使用,必须修改协议。
  1、数据含义3个温度值
  2、数据格式
   为能正确区分去3个温度值,我们把一些字母掺杂到数据中,所以新的数据格式定义如下:
(1)、3个温度值排列顺序为“ABC”
 (2)、3个温度值的结尾加上字母“M”以便于把3个温度值隔开
P.L.C.技.术.网——可编程控制器技术门户
 (3)、每个温度值的格式与例1一样,仍然是4位整数,前两位表示十位与个位,后两位为小数这样,PLC发来的数据格式就应该是“***xM***xM***xM”。假设A,B,C 3路温度当前为12.35℃,20.21℃和45.12℃,则PLC发送的数据应为“1235M2021M4512M”通讯协议变复杂了,PLC和上位机通讯程序的任务也就变复杂了。PLC发送数前先要把数据按协议所规定的格式组织好,而上位机接收到数据后先要按协议中所规定的格式把所需要的数据分离出来。
通过上面两个例子,大家对通讯协议这个东东的真正含义应该清楚了吧。所交换的数据越多,则通讯协议就越复杂。但不管是简单的协议也好还是复杂的协议也好,其根本的目的只有一个---就是把所需交换的数据的内容与格式描绘的清清楚楚。


管理员注:此帖与之前发布的另一帖内容相同,可以合并交流。http://www.ad.siemens.com.cn/club/bbs/post.asp?b_id=3&a_id=799099&s_id=0&num=11
PLC与PC计算机通信简要说明 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200

共有33257条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。