首页 上一页 1 2 下一页 尾页

(已结束)工控PLC擂台第7期--PLC与PC之间的通讯。 点击:2339 | 回复:21



云锋

    
  • 精华:1帖
  • 求助:4帖
  • 帖子:252帖 | 5541回
  • 年度积分:0
  • 历史总积分:30376
  • 注册:2005年6月24日
发表于:2010-10-15 13:09:51
楼主

PLC品牌不限,PC端组态软件不限,写出PLC与PC间的通讯方式、通讯模块(卡)硬件参数,通讯程序及模块(卡)端口设置。

需通讯内容:读位信号,100个;写位信号,50个;读数据(字),50个;写数据,20个。

工控PLC擂台每周一期,本期下周末结贴。奖项设置:一等奖1名:50MP,二等奖5名:10MP,三等奖10名:30积分。

MP介绍:gongkongMP即工控币,是中国工控网的用户积分与回馈系统的一个网络虚拟计价单位,类似于大家熟悉的QB,1个MP=1元人民币。

MP有什么用?兑换服务:以1个MP=1元来置换中国工控网的相关服务。 兑换现金:非积分获得的MP可兑换等值现金(满100MP后、用户可通过用户管理后台申请兑换)。




二手烟头

  • 精华:12帖
  • 求助:0帖
  • 帖子:55帖 | 1460回
  • 年度积分:0
  • 历史总积分:12556
  • 注册:2009年4月10日
发表于:2010-10-15 13:12:16
1楼
楼下的来回答…………

莫子辰

  • 精华:1帖
  • 求助:11帖
  • 帖子:20帖 | 939回
  • 年度积分:0
  • 历史总积分:5186
  • 注册:2010年5月12日
发表于:2010-10-15 13:21:35
2楼
zhanlou                                                  

工控技术网——y168.info

  • 精华:0帖
  • 求助:0帖
  • 帖子:5帖 | 76回
  • 年度积分:0
  • 历史总积分:256
  • 注册:2006年8月23日
发表于:2010-10-15 13:48:38
3楼

这期我参加,我占楼。

ye_w

  • 精华:21帖
  • 求助:1帖
  • 帖子:69帖 | 5217回
  • 年度积分:0
  • 历史总积分:46739
  • 注册:2002年4月17日
发表于:2010-10-15 17:34:40
4楼

关于PLC与PC间的通讯有很多种,最常见的就是串口和以太网。如果PLC集成以太网或者扩展了以太网,使用以太网的方式与PC机通讯就是经济、快速的通讯方式。下面就是用以太网的方式实现组态软件与PLC之间的通讯。

 

 

PLC仍然选用集成以太网接口的ABB AC500系列,组态软件使用国产组态软件MCGS。通讯协议使用Modbus-TCP。由于使用以太网,所以无须额外通讯卡件,PC机只要集成同样的网卡即可。

 

 

一、PLC组态

1、CPU,使用AC500 PM582-ETH

2、PLC硬件配置情况
集成以太网卡,地址配置成192.168.1.130
其他IO配置如下:
3、PLC程序,由于使用modbus通讯,无须编程,但为了编译通过,必须在主程序保留“;”
二、组态软件,这块内容比较多
1、变量申明
1.1 数字量输入
1.2 数字量输出
1.3 字输入
1.4 字输出
2、设备组态,使用以太网的方式,modbus-tcp协议
2.1 网络拓扑组态
2.2 PC机组态,使用modbus-tcp,分别配置PC机和PLC的地址与端口、TCP协议,如下图所示
2.3 PLC组态
3、变量通道组态和链接
3.1 数字量输入通道
3.2 数字量输出通道
3.3 字输入通道
3.4 字输出通道
4 主画面和通道以及测试
4.1 通道测试,包括位输入输出,字输入输出
4.1.1 位输入
4.1.2 位输出
4.1.3 字输入
4.1.4 字输出
4.2 主画面
由于变量太多,没有必要重复简单的劳动,现在分别组态测试了2个位输入 2个位输出 2个字输入 2个字输出,如下图所示。
****不好意思,主要是不知道为啥总是显示红X,之后另起1层楼啦 主画面请查看16楼

floodpeak

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 30回
  • 年度积分:0
  • 历史总积分:348
  • 注册:2008年8月07日
发表于:2010-10-15 18:07:02
5楼

我也参加。先占一层楼。

 

zyw3166

  • 精华:0帖
  • 求助:0帖
  • 帖子:16帖 | 2756回
  • 年度积分:442
  • 历史总积分:30819
  • 注册:2007年7月13日
发表于:2010-10-15 20:52:05
6楼
我要准备下,准备用西门子300和三维力控

jingtao

  • 精华:2帖
  • 求助:0帖
  • 帖子:94帖 | 3205回
  • 年度积分:0
  • 历史总积分:20573
  • 注册:2007年10月31日
发表于:2010-10-16 08:14:51
7楼

           可编程序控制器(PLC)是以计算机技术为核心的通用自动控制装置,由于其体积小、使用灵活、 价格相对较低的特点,在工业生产中得到了广泛的应用。西门子公司的S7-200系列小型PLC的功能强、性能价格比高,在国内更是应用广泛。在工业控制过程中,常常需要用一台上位机去控制多台PLC,实现分散控制与集中管理,以构成分布式控制系统。

PC端利用MSComm控件、在S7-200PLC端利用自由口通讯,实现他们之间的信息交换,以构成一个简单的分布式控制系统。
1) S7200系列PLC的自由口通讯方式
S7-200支持多种通讯模式,如点点接口(PPI)、多点接口(MPI)等。PPI等通讯协议主要用于西门子系列产品之间的通讯。自由口通讯可由用户控制串行通讯接口,实现用户自定义的通讯协议。在自由口通讯方式下,用户利用梯形图程序中的接收完成中断、字符接收中断、发送完成中断、发送指令和接收指令实现S7-200系列PLC与上位机的通信。在PLC与PC的通讯方式上,自由口通讯是一种廉价和灵活的方法。
PLC的CPU处于STOP模式时,自由口通讯被禁止,只有当CPU处于RUN模式时,才可使用自由口通讯。在此,可以用反映CPU模块上的工作方式的特殊存储器位SM0.7来控制自由口方式的进入。当SM0.7为1 时,CPU处于RUN模式,可选择自由口通讯。通过向SMB30或SMB130(SMB30用于设置端口0,而SMB130用于设置端口1)的协议选择域置1,可以将通信端口置为自由口模式。SMB30或SMB130还用于设置通讯的波特率、奇偶校验与每个字符的数据位。发送指令XMT启动自由端口模式下数据缓冲区中的数据发送,它可以方便地发送1~255个字符,如果有中断程序连接到发送结束事件上,在发送完成后,端口0会产生中断事件9,也可以监视发送完成状态位SM45的变化,接收指令RCV可以初始化接收信息服务,通过指定的通信端口,接收信息并存储在数据缓冲区内。在接收完最后一个字符时,端口0产生中断事件23。
在PC与PLC的通讯中,主要是利用PC机发送信息来强制控制PLC的状态,接收PLC发送过来的信息,来显示控制状态。所以在本文中,PLC发送信息通过检验SM4.5来每半分钟发送有关PLC状态的信息,以使PC机更新显示,利用接收完成中断,按照PC机发送的信息要求来强制存储器有关位置的状态。每个数据帧为8个字符,具体的格式如下:
X     Y       F      X      X      X      V      R
其中,YY为PLC地址;F为存储器类型,如位存储器为M,变量存储器为V;XXX为位地址,如M017就表示M1.7;V为位设置的值,可为0或1;R为校验位。
S7-200CPU上的通信口是与RS485兼容的9针D型连接器,PLC还提供了实现RS485与PC机上RS232C相连接的PC/PPI电缆,利用它可以方便地实现S7-200系列PLC与PC之间的硬件连接。
2)自由口通讯的实现
在实现自由口通讯的软件设计中,主要包括PC软件与PLC梯形图2部分,下面分别给出主要的源程序代码。
2.1 PC机的通信软件实现
本文是利用Delphi来实现PC机的通讯的。Delphi是新一代可视化开发工具,它具有功能强大、简便易用和代码执行速度快等特点,是全球公认的快速应用开发工具的先驱者,在构架企业信息系统方面发挥着重要作用。但由于Delphi中没有串口控件可用,所以首先需要把ActiveX控件MSComm加到元件选项板上。并设置MSComm控件的属性,其主要属性如下:
CommPort:设置并返回通讯的端口号。设为1。
Setting:以字符串的形式设置并返回波特率。设为19 200,n,8,1。
PortOpen:设置并返回通讯端口的状态。
Input:从接收缓冲区读取数据。
Output:从发送缓冲区发送数据。
InputMode:设置从级冲区读取数据的格式。
Rthreshold:接收缓冲区接收多少字符触发OnComm事件。设为8。
在向PLC发送数据命令时,利用定义好的数据帧格式,组织好数据,用文本方式发送。接收PLC数据时,触发Oncomm事件,在这个事件中,将接收到的数据按照数据帧的定义解释数据,进行相应的操作。

djgxy

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 1200回
  • 年度积分:100
  • 历史总积分:20331
  • 注册:2020年6月23日
发表于:2010-10-16 09:35:03
8楼
1. PC与PLC实现通信的意义

把PC连入PLC应用系统具有以下四个方面作用:

1)构成以PC为上位机,单台或多台PLC为下位机的小型集散系统,可用PC实现操作站功能。

2)在PLC应用系统中,把PC开发成简易工作站或者工业终端,可实现集中显示、集中报警功能。

3)把PC开发成 PLC编程终端,可通过编程器接口接入PLC,进行编程、调试及监控。

4)把PC开发成网间连接器,进行协议转换,可实现PLC与其它计算机网络的互联。

2. PC与PLC实现通信的方法

把PC连入PLC应用系统是为了向用户提供诸如工艺流程图显示、动态数据画面显示、报表编制、趋势图生成、窗口技术以及生产管理等多种功能,为PLC应用系统提供良好、物美价廉的人机界面。但这对用户的要求较高,用户必须做较多的开发工作,才能实现PC与PLC的通信。

为了实现PC与PLC的通信,用户应当做如下工作:

1)判别PC上配置的通信口是否与要连入的PLC匹配,若不匹配,则增加通信模板。

2)要清楚PLC的通信协议,按照协议的规定及帧格式编写PC的通信程序。PLC中配有通信机制,一般不需用户编程。若PLC厂家有PLC与PC的专用通信软件出售,则此项任务较容易完成。

3)选择适当的操作系统提供的软件平台,利用与PLC交换的数据编制用户要求的画面。

4)若要远程传送,可通过Modem接入电话网。若要PC具有编程功能,应配置编程软件。

3. PC与PLC实现通信的条件

从原则上讲,PC连入PLC网络并没有什么困难。只要为PC配备该种PLC网专用的通信卡以及通信软件,按要求对通信卡进行初始化,并编制用户程序即可。用这种方法把PC连入PLC网络存在的唯一问题是价格问题。在PC上配上PLC制造厂生产的专用通信卡及专用通信软件常会使PC的价格数倍甚至十几倍的升高。

用户普遍感兴趣的问题是,能否利用PC中已普遍配有的异步串行通信适配器加上自己编写的通信程序把PC连入PLC网络,这也正是本节所要重点讨论的问题。

带异步通信适配器的PC与PLC通信并不一定行得通,只有满足如下条件才能实现通信。

1)只有带有异步通信接口的PLC及采用异步方式通信的 PLC网络才有可能与带异步通信适配器的PC互连。同时还要求双方采用的总线标准一致,都是RS-232C,或者都是RS-422(RS-485),否则要通过“总线标准变换单元”变换之后才能互连。

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

3)用户必须熟悉互联的PLC采用的通信协议。严格地按照协议规定为PC编写通信程序。在PLC一方不需用户编写通信程序。

满足上述三个条件,PC就可以与PLC互联通信。如果不能满足这些条件则应配置专用网卡及通信软件实现互联。

4. PC与PLC互联的结构形式

用户把带异步通信适配器的PC与PLC互联通信时通常采用如图7-12所示的两种结构形式。一种为点对点结构,PC的COM口与PLC的编程器接口或其它异步通信口之间实现点对点链接, 如图7-12a所示。另一种为多点结构,PC与多台PLC共同连在同一条串行总线上,如图7-12b所示。多点结构采用主从式存取控制方法,通常以PC为主站,多台PLC为从站,通过周期轮询进行通信管理。
a)点对点结构 b)多点结构

5. PC与PLC互联通信方式

目前PC与PLC互联通信方式主要有以下几种:

1)通过PLC开发商提供的系统协议和网络适配器,构成特定公司产品的内部网络其通信协议不公开。互联通信必须使用开发商提供的上位组态软件,并采用支持相应协议的外设。这种方式其显示画面和功能往往难以满足不同用户的需要。

2)购买通用的上位组态软件,实现PC与PLC的通信。这种方式除了要增加系统投资外,其应用的灵活性也受到一定的局限。

3)利用PLC厂商提供的标准通信口或由用户自定义的自由通信口实现PC与PLC互联通信。这种方式不需要增加投资,有较好的灵活性,特别适合于小规模控制系统。

彩虹

  • 精华:2帖
  • 求助:4帖
  • 帖子:54帖 | 1626回
  • 年度积分:8
  • 历史总积分:7586
  • 注册:2006年9月21日
发表于:2010-10-18 20:38:45
9楼

来点实际的东西不要光讲一些理论!!!要讲理论随便在网上搜一下各类型的都很多。

彩虹

  • 精华:2帖
  • 求助:4帖
  • 帖子:54帖 | 1626回
  • 年度积分:8
  • 历史总积分:7586
  • 注册:2006年9月21日
发表于:2010-10-18 20:40:12
10楼

来点实际的东西不要光讲一些理论!!!要讲理论随便在网上搜一下各类型的都很多。

老菜鸟

  • 精华:22帖
  • 求助:0帖
  • 帖子:301帖 | 8609回
  • 年度积分:0
  • 历史总积分:24924
  • 注册:2003年6月15日
发表于:2010-10-19 03:08:32
11楼
这段时间在研究VB,没时间去整组态软件的例子。过段时间我整几个VB和PLC通信的例子出来,和大家探讨一下。

yxg198308

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 96回
  • 年度积分:0
  • 历史总积分:614
  • 注册:2010年3月24日
发表于:2010-10-19 10:21:52
12楼
我觉得应该以实际项目为背景,来介绍PLC和PC通讯的问题比较好,原理大家都知道一些,无非就是数据的传送与接收,传送和接收时遵循某一种协议,到底这些东西是怎么实现的我觉得以实例来论述会比较好。

奥特曼带我走

  • 精华:0帖
  • 求助:1帖
  • 帖子:5帖 | 394回
  • 年度积分:0
  • 历史总积分:2188
  • 注册:2010年4月22日
发表于:2010-10-19 13:48:11
13楼

支持楼上!!             

王观炎

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 7回
  • 年度积分:0
  • 历史总积分:27
  • 注册:2010年6月11日
发表于:2010-10-19 14:13:59
14楼

学习关注中!支持。。。

云锋

  • 精华:1帖
  • 求助:4帖
  • 帖子:252帖 | 5541回
  • 年度积分:0
  • 历史总积分:30376
  • 注册:2005年6月24日
发表于:2010-10-20 10:19:52
15楼

这一期怎么个情况,大家都只是过来围观了?。

ye_w

  • 精华:21帖
  • 求助:1帖
  • 帖子:69帖 | 5217回
  • 年度积分:0
  • 历史总积分:46739
  • 注册:2002年4月17日
发表于:2010-10-20 10:39:31
16楼

接4楼的最后主画面(不知道为啥是红X)

feng_von

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 288回
  • 年度积分:0
  • 历史总积分:1965
  • 注册:2002年1月26日
发表于:2010-10-20 12:43:01
17楼

围观的群众太多了,该出手就出手啊。

云锋

  • 精华:1帖
  • 求助:4帖
  • 帖子:252帖 | 5541回
  • 年度积分:0
  • 历史总积分:30376
  • 注册:2005年6月24日
发表于:2010-10-21 10:40:07
18楼
有几个占楼,准备上场的,抓紧时间了。。。

云锋

  • 精华:1帖
  • 求助:4帖
  • 帖子:252帖 | 5541回
  • 年度积分:0
  • 历史总积分:30376
  • 注册:2005年6月24日
发表于:2010-10-25 09:01:25
19楼

一等奖1名,50MP获得者:ye_w    ye_w


二等奖1名,10MP获得者:jingtao   惊涛骇浪


三等奖1名,30积分获得者:djgxy djgxy

callyou

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 85回
  • 年度积分:0
  • 历史总积分:350
  • 注册:2009年3月09日
发表于:2010-10-25 10:46:10
20楼
看来是接帖子了 学习了

热门招聘
  • 客服
  • 小程序
  • 公众号
首页 上一页 1 2 下一页 尾页