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

(已结帖)工控PLC擂台第59期-PLC与PC链接通讯的通信方式和通信协议 点击:5644 | 回复:27



玻璃的心

    
  • 精华:43帖
  • 求助:2帖
  • 帖子:1197帖 | 5801回
  • 年度积分:0
  • 历史总积分:57705
  • 注册:2010年6月11日
发表于:2011-10-07 19:56:49
楼主

        请随便就自己熟悉的一类PLC和PC通讯的通信方式加于讲解,并附有详细的通信参数的设置过程以及相关的截图。如果有多种和上位机通讯的方式也请全部列出,并加于相关的讲解,回答的最好最完全的获大奖!

 

 

请任意选择PLC实现之,原创最多,阐述最详细,程序越准确者获一等奖



工控PLC擂台每周一期,本期待58期结束一周后结贴。奖项设置:一等奖2名:50MP,二等奖5名:10MP,三等奖10名:30积分。

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

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



楼主最近还看过



bhdxzgp

  • 精华:5帖
  • 求助:8帖
  • 帖子:141帖 | 5451回
  • 年度积分:0
  • 历史总积分:21609
  • 注册:2006年4月16日
发表于:2011-10-18 21:25:49
1楼

1.VB通过OPCNA400PLC通信

注:软件测试版本说明

序号

名称

版本

1

PLC编程软件

NAPro 2.4

2

VB编程软件

VB6.0版本8176

3

OPC服务器

NANETOPCSvr V1.6

4

OPC客户测试端

OPCTest V1.0

 

1)写入PLC程序,并建立PLC配置文件;在文件夹PLCTest中;如下图所示

2)建立NANETOPC的服务器设置名称为NA,并导入硬件配置文件;

3)连接好硬件,并用网线与个人电脑连接正常;

4)用NANET的客户端测试软件打开一个文件“CLient.opc”;进行测试,连接正常时不数据变化;

5)编写VB测试平台;其原代码在文件夹VBTest中;

6)测试完成如下图;

测试完毕;

需要以上VB的PLC原代码可以来信:bhdxzgp@163.com;注明:工控网;

bhdxzgp

  • 精华:5帖
  • 求助:8帖
  • 帖子:141帖 | 5451回
  • 年度积分:0
  • 历史总积分:21609
  • 注册:2006年4月16日
发表于:2011-10-18 21:33:26
2楼

IFIX通过OPCNA-400进行通信

注:软件测试版本说明

序号

名称

版本

1

PLC编程软件

NAPro 2.4

2

IFIX编程软件

iFIX V5.0 (Build6667)

3

OPC服务器

NANETOPCSvr V1.6

4

OPC客户测试端

OPCTest V1.0

 

1)写入PLC程序,并建立PLC配置文件;在文件夹PLCTest中;如下图所示;

2)建立NANETOPC的服务器设置名称为NA,并导入硬件配置文件;

3)连接好硬件,并用网线与个人电脑连接正常;

4)用NANET的客户端测试软件打开一个文件“CLient.opc”;进行测试,连接正常时不数据变化;

5)启动IFIX,如下图

6)再配置OPC进行本地连接OPC的服务器,如下图所示;

7)添加组,添加标签,如下图所示:监控Q1,Q2,QW1,IW1,MW3,MW7,MW10,MW11,MW12,MW13,M18,M19;标签格式如:

NANet.NA.Q.1;如下图所示

8)当连接好PLC,且PC ACCESS运行,则在此启动链接时,可以检测各变量的连接好坏,如图所示;

9)运行IFIX,添加OPC驱动,添加变量,其地址对应OPC中所建变量,如图所示

10)建立组态界面,进行测试;把NA-IFIX.OPC拷贝文件夹PDB中,把TEST.grf拷贝文件夹PIC到安装目录中; 且链接好PLC 激活OPC的驱动,测试界面如下图所示

bhdxzgp

  • 精华:5帖
  • 求助:8帖
  • 帖子:141帖 | 5451回
  • 年度积分:0
  • 历史总积分:21609
  • 注册:2006年4月16日
发表于:2011-10-18 21:36:21
3楼

组态王通过OPCNA-400进行通信

注:软件测试版本说明

序号

名称

版本

1

PLC编程软件

NAPro 2.4

2

组态王编程软件

组态王6.51

3

OPC服务器

NANETOPCSvr V1.6

4

OPC客户测试端

OPCTest V1.0

 

1)写入PLC程序,并建立PLC配置文件;在文件夹PLCTest中;如下图所示;

2)建立NANETOPC的服务器设置名称为NA,并导入硬件配置文件;

3)连接好硬件,并用网线与个人电脑连接正常;

4)用NANET的客户端测试软件打开一个文件“CLient.opc”;进行测试,连接正常时不数据变化;

5)启动组态王6.5,建立工程项目;并打开设备中的OPC服务器;选择NANETOPCserverNA400OPC服务器;如下图所示;

6)在组态数据库中建立数据词典;如下图所示;

7)建立测试界面;测试如下图所示;测试文件在KingViewTest中;

测试完毕;

需要以上VB的PLC原代码可以来信:bhdxzgp@163.com;注明:工控网;

 

bhdxzgp

  • 精华:5帖
  • 求助:8帖
  • 帖子:141帖 | 5451回
  • 年度积分:0
  • 历史总积分:21609
  • 注册:2006年4月16日
发表于:2011-10-18 21:44:33
4楼

还有好多呢;

NA400的PLC和NA200的PLC与各类组态及VB,VC通信的过程文档和原代码;如果有需要的可以发送邮件索取;

bhdxzgp@163.com;zhanggp@nandaauto.com;

QQ:280830157;加我和来信时注明为:中国工控网;和自己的名字或者单位!谢谢!

ye_w

  • 精华:21帖
  • 求助:1帖
  • 帖子:69帖 | 5217回
  • 年度积分:0
  • 历史总积分:46739
  • 注册:2002年4月17日
发表于:2011-10-22 15:39:28
5楼
opc 在PLC与PC机之间的通讯应用得多,但实际上国产的组态软件集成了很多的相关驱动,也就是通信方式和通讯协议多种多样,就看PLC和PC的硬件配置情况。

bhdxzgp

  • 精华:5帖
  • 求助:8帖
  • 帖子:141帖 | 5451回
  • 年度积分:0
  • 历史总积分:21609
  • 注册:2006年4月16日
发表于:2011-10-23 11:10:51
6楼

楼上说的很多啊!

现在大多PLC厂家,都做自己怕OPC的SEVER;为了方便与市场上面的一些组态进行通信方便

但是通过上次我的测试还是发现一些问题;

同样是通过网络;OPC比modbusRTU的要慢!

ye_w

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

其实除了OPC之外,使用Modbus/RTU或Modbus/TCP也是很常见的通讯方式。

在PLC与PC之间,PLC作为Modbus/RTU从站或Modbus Server,有些只需简单配置一下串口或者以太网接口,有些需要使用串口初始化,将串口配置成Modbus协议。

 

我下面来介绍AC500的串口和以太网接口通过Modbus协议实现与PC机之间的通讯。

一、先介绍Modbus/RTU,既然是RTU,就是对AC500的串口进行初始化配置,无需像西门子S7-200一样需要使用指令来实现串口的Modbus协议初始化。

初始化设置截图如下:

1,将Com1口配置成Modbus,缺省是Online access

2、串口参数设置:
RTS control设置为Telegram,目的是485通讯推荐配置,如果是232就设置为None即可。
波特率、检验位、停止位等与PC机内设置一致即可。
Run on config fault设置为Yes,这样做的目的是当串口设置错误时不至于影响到CPU的运行。
Operator mode自然设置为Slave,在与PC机通讯的时候,PC机是主动一方,自然是Master,反过来PLC自然是Slave。
Address就是PLC Modbus从站地址,与PC机中配置时一致即可
******************************
AC500的Modbus/RTU配置就这样简单,配置完成后,下载即可完成。
二、以太网的Modbus/TCP配置同样简单,也同样同形并茂的方式。
1、在以太网接口配置中添加Modbus On TCP/IP
2、Modbus TCP的设定。当然还得设置以太网的IP地址,比如192.168.1.2,端口设置为502
Server connections,这个是当PLC设置为Modbus Server时,可以同时与几个PC机(作为Modbus Slient)的链接数量。
Task timeout和OMB time可以缺省设置,根据需要可以适当修改。具体参考下面的内容。
Swap 设置为TRUE,这里是支持Motorala格式,如果是intel,可以设置为false
*****************有关任务超时参数(Task timeout)和Omb时间参数(Omb time)*****************************
任务超时参数(Task timeout)和Omb时间参数(Omb time)是与控制器作为Modbus客户端有关的参数,在OMB设置中已经进行设置。

任务超时(Task timeout)参数决定了当客户端传输请求给服务器后,在终止处理发出错误消息之前,客户端应该等待服务器应答的时间的长度。 对于我们例子中考虑的网络,可以保持默认值为20×100ms甚至更少。但是,对于具有高利用率的较大网络,有必要增加这个值。任务超时参数范围的有效值为1×100ms到60000×100ms。这里必须指出,控制器通常不能访问任何一台服务器,除非其已收到了答复,或者超时时间已过期。这就是为什么超时值应该根据即使临时有较高利用率也不要发生通讯中止的方式来把握的原因。另一方面,保留时间不应过高,以尽早地检测通信错误,尽可能达到更高的性能。在此例中,选择任务超时值为20×100ms(默认)。

Omb时间(Omb time)设定了接收到应答报文后应保持多久的连接。 Modbus协议基于TCP/IP。这个协议的一个特点是首先建立逻辑通信连接,然后交换数据,最终再关闭连接。建立和关闭连接的过程需要一些时间。如果控制器和服务器之间在较长的时间间隔后进行数据通信,应该在完成数据通信后立即关闭连接。 这可以避免不必要长期连接堵塞Modbus访问。为了在建立的客户端和服务器连接之间快速循环交换数据,可以通过设置较高的“OMB时间”减少关闭过程。
********************************************************************************************************************
三、下面介绍使用fameview组态软件来实现modbus通讯
1、Modbus/RTU
杰控的MB_RTU驱动程序即Modbus/RTU协议
MB_RTU 驱动支持 MODBUS RTU 协议,可以与能提供 MODBUS Slave 协议的设备,通过串口进行通讯;
设备设定
… 选择MODBUS Slave 协议,CRC 校验
… 设定MODBUS 设备的单元号,如 10;
… 通讯参数设为与计算机一致,如 19200、8、1、偶校验、RTC控制; 
通讯设定
… 选择<设备通讯>功能,执行<安装驱动程序>任务,出现下面对话框:
… 选择MB_RTU 驱动程序,进行安装;
… 选择<设备通讯>功能,执行<定义设备数据表>任务,在设备数据表中定义某个设备号:
        远程站号,是 MODBUS 设备的单元号,必须与设备中所设相一致;
       选择使用的串口 COM1-16,并执行<通讯串口>按钮定义通讯参数:
       
          数据类型:
     标准MODBUS 协议的数据首地址是从 1 开始,但有些设备的首地址却从 0 开始;
     开关量以字为单位算;例如:数据类型=继电器(1/15),数据格式=字,开始地址=0,数据长度=3,则表示从继电器(1/15)开关量中的 1-48;
      模拟量以字为单位算;例如:数据类型=寄存器(3/16),数据格式=字,开始地址=0,数据长度=3,则表示从寄存器(3/16)模拟量中的 1-3; 
       MODBUS 所支持的最大数据长度为 255 个字,但每种类型的设备所支持的最大数据长度有不尽相同,从 1-255 不等,所填写的数据长度>设备所支持的最大数据长度时,通讯失败;
2、Modbus/TCP
杰控的MB_TCPIP 驱动程序即Modbus/TCP协议
MB_TCPIP 驱动程序支持 MODBUS TCP 协议,可以与能提供 MODBUS TCP 服务器协议的设备进行通讯;
设备设定
… 选择MODBUS TCP 协议
… 设定MODBUS TCP 设备IP 地址(192.168.1.2)、端口号(502)、单元号(10);
通讯设定
… 选择<设备通讯>功能,执行<安装驱动程序>任务,出现下面对话框:
       选择MB_TCPIP 驱动程序,进行安装;
… 选择<设备通讯>功能,执行<定义设备数据表>任务,在设备数据表中定义某个设备号:
      MB 单元号,是MODBUS 设备的单元号,必须与设备中所设相一致;
      端口号,是 TCP 服务器所开放的 Socket,一般为502;
      设备IP 地址,为TCP 服务器的 IP 地址,如192.168.1.2;
      本地 IP 地址,为本地计算机所使用网卡的 IP 地址,如192.168.1.100;
      必须要保障计算机与设备之间能够 ping 通;
      数据类型:
      标准MODBUS 协议的数据首地址是从 1 开始,但有些设备的首地址却从 0 开始;
      开关量以字为单位算;例如:数据类型=继电器(1/15),数据格式=字,开始地址=0,数据长度=3,则表示从继电器(1/15)开关量中的 1-48;
      模拟量以字为单位算;例如:数据类型=寄存器(3/16),数据格式=字,开始地址=0,数据长度=3,则表示从寄存器(3/16)模拟量中的 1-3;
      MODBUS 所支持的最大数据长度为 125 个字,但每种类型的设备所支持的最大数据长度有不尽相同,从 1-125 不等,所填写的数据长度>设备所支持的最大数据长度时,通讯失败;
      如果通讯设备支持的最大数据长度为 125 字,则设备号支持连续读写, 即最大通讯长度可以是 512 字;

ye_w

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

以上都是配置情况,具体显示就很简单啦,就不在浪费篇幅来一一描叙。当然如果大家有兴趣,可以提出来,我再一一解答,并乐于与大家一起交流

今生缘

  • [版主]
  • 精华:43帖
  • 求助:20帖
  • 帖子:4740帖 | 10148回
  • 年度积分:75
  • 历史总积分:111144
  • 注册:2011年3月02日
发表于:2011-10-25 23:01:26
9楼
学习中,没弄过,希望有机会试试!

DJS13111373841

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 68回
  • 年度积分:0
  • 历史总积分:589
  • 注册:2008年11月03日
发表于:2011-10-26 09:59:42
10楼
希望讲讲s7-300.400方面的内容。

chshjobjob

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 7回
  • 年度积分:0
  • 历史总积分:57
  • 注册:2011年10月05日
发表于:2011-10-27 22:49:01
11楼
跟楼上有同感 ,希望讲讲s7-300/400有关这方面的内容。麻烦了各位!

welfare87

  • 精华:0帖
  • 求助:4帖
  • 帖子:44帖 | 2827回
  • 年度积分:0
  • 历史总积分:25853
  • 注册:2009年2月20日
发表于:2011-10-29 00:51:23
12楼

S7-200通过PC ACCESS与WinCC的以太网通讯

配置列表:PC Access、WinCC、CPU224CN、CP243-1。

1、在PC Access设置通讯方式

2、 设置PC Access本机地址和TSAP地址

3、为PC Access创建变量

     

4、测试变量

5、将变量导入WinCC

6、建WinCC画面

qiuhenan

  • 精华:0帖
  • 求助:1帖
  • 帖子:3帖 | 321回
  • 年度积分:0
  • 历史总积分:1472
  • 注册:2011年6月02日
发表于:2011-10-29 07:05:44
13楼
顶起!!!!!!!!!!!!!!!

djgyy

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 1200回
  • 年度积分:100
  • 历史总积分:20331
  • 注册:2020年6月23日
发表于:2011-10-29 07:33:18
14楼
引用 qiuhenan 的回复内容: 顶起!!!!!!!!!!!!!!!qiuhenan的签名档不求轰轰烈烈,但求无愧我心!



bhdxzgp

  • 精华:5帖
  • 求助:8帖
  • 帖子:141帖 | 5451回
  • 年度积分:0
  • 历史总积分:21609
  • 注册:2006年4月16日
发表于:2011-10-29 09:40:34
15楼

那我就上传点NA400通过modbusTCP方式通信

NA400系列PLC通过ModbusTCP与常用组态通信

1.组态王通过MODbusTCPNA-400进行通信

注:软件测试版本说明

序号

名称

版本

1

PLC编程软件

NAPro 3.0

2

组态王编程软件

组态王6.53

 

1)写入PLC程序,并建立PLC配置文件;在文件夹PLCTest中;如下图所示;

2)连接好硬件,并用网线与个人电脑连接正常;

3)启动组态王6.5,建立工程项目;选择硬件COM中的莫迪modbusTCP,如下图所示;安顺序进行硬件配置;

4)建立变量表格。按照NA400的功能码与数据关系表;如下图

5)在组态数据库中建立数据词典;如下图所示;

6)建立测试界面;测试如下图所示;测试文件在KingViewTest中;

测试完毕;

bhdxzgp

  • 精华:5帖
  • 求助:8帖
  • 帖子:141帖 | 5451回
  • 年度积分:0
  • 历史总积分:21609
  • 注册:2006年4月16日
发表于:2011-10-29 09:42:31
16楼

本处还有大量关于NA200或者NA400通过modbus RTU和TCP与组态等软件通信的过程实例;

如有需要的话;和我联系;bhdxzgp@163.com

青岛黄工

  • [版主]
  • 精华:3帖
  • 求助:54帖
  • 帖子:108帖 | 4776回
  • 年度积分:0
  • 历史总积分:24297
  • 注册:2007年4月02日
发表于:2011-10-31 10:02:19
17楼
我用松下FPX-C14T的PLC与PC进行链接通讯,通讯协议为松下内部专用MEWTOCOL协议。
首先,设置PLC通讯协议
刚上电,第一次下载时,从新设置一下通讯参数,点  [通讯设置]
如果上载PLC程序,可以不用设置通讯参数,如上图,可以自检通讯参数,自动通讯。

墨之殇

  • 精华:16帖
  • 求助:7帖
  • 帖子:395帖 | 4077回
  • 年度积分:102
  • 历史总积分:26826
  • 注册:2011年8月26日
发表于:2011-11-01 00:50:25
18楼
首席支持叶总,我是你的粉丝。。。。。。。。。。

涛声依旧

  • 精华:0帖
  • 求助:1帖
  • 帖子:5帖 | 540回
  • 年度积分:5
  • 历史总积分:18865
  • 注册:2006年12月03日
发表于:2011-11-01 07:33:36
19楼
haohaoxuexi                    

yanwen0227

  • 精华:2帖
  • 求助:49帖
  • 帖子:577帖 | 9385回
  • 年度积分:0
  • 历史总积分:0
  • 注册:1900年1月01日
发表于:2011-11-01 09:19:48
20楼
在此向各位老师学习来了!

热门招聘
相关主题

官方公众号

智造工程师
    首页 上一页 1 2 下一页 尾页