(已结贴)工控PLC擂台第63期-上位机组态软件采集多台PLC信号问题 点击:2669 | 回复:16



玻璃的心

    
  • 精华:30帖
  • 求助:2帖
  • 帖子:962帖 | 5801回
  • 年度积分:0
  • 历史总积分:61250
  • 注册:2010年6月11日
发表于:2011-10-30 17:08:30
楼主

      我们知道在当今的自动化系统中,我们很多时候需要通过上位机系统采集多台甚至不同PLC系统的信号,因此我们这期的擂台就是:希望大家就现实项目中的做过的,通过上位机组态软件来采集多台PLC系统的信号(至少两套PLC,可以同型号的,也可以不同型号的)的例子。

      要求:详细的系统架构图,通信协议配置过程,以及通信配置过程等的截图,并要求有简单的程序.(例如:上位机用INtouch组态软件,通信协议为Suitelink,数据库服务器为DASerever,然后要给出详细的配置过程和测试过程等的截图)

 

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



工控PLC擂台每周一期,本期待58期结束一周后结贴。奖项设置:一等奖2名:50MP(如果完善的话,一等奖可直接拿100MP),二等奖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-31 20:38:33
1楼

组态王-串口1连接NA200 (通过modbus RTU)

      -网络口连接NA400(通过modbus TCP)

注:软件测试版本说明

序号

名称

版本

1

PLC编程软件

NA200Pro 3.4

2

组态王编程软件

组态王6.51

 

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

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

3)启动组态王6.5,建立工程项目;选择硬件COM中的莫迪康的串口modbus(RTU)或者modbus(Rtu)unpack如下图所示;安顺序进行硬件配置;

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

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

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

注:软件测试版本说明

序号

名称

版本

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-11-01 21:14:46
2楼

组态王(modbusRTU-主站的PLCCMM串口主站模块-两个从站的PLC-组态王(modbusRTU

CMM的波特率使用最大:38400bps;组态的变量读写频率为1ms;监视两PLC的通信波特率也为38400BPS;

注:软件测试版本说明

序号

名称

版本

1

PLC编程软件

NA200Pro 4.0

2

组态王编程软件

组态王6.53

1.       主站与从站做好通信设置:如下图所示:

先主站的PLC设置:

通信设置:

从站设置:

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

3)启动组态王6.53,建立工程项目;选择硬件COM中的莫迪康的串口modbus(RTU)或者modbus(Rtu)unpack如下图所示;安顺序进行硬件配置;

其中COM1;COM2的通信配置如下图所示:

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

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

串口1的输入从NW1-NW8;输出从NW9-NW16;

串口2的输入从MW1-MW8;输出从MW9-MW16;

 

在主站的开辟区间:从MW1-MW32输入区;MW33-MW64输出区;

MW1-串口1NW1;MW8-串口1NW8;MW9-串口2MW1;MW16-串口2MW8;

MW33-串口1NW9;MW40-串口1NW16;MW41-串口2MW9;MW48-串口2MW16;

组态建立的数据表;

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

春华★秋实

  • 精华:0帖
  • 求助:0帖
  • 帖子:103帖 | 1038回
  • 年度积分:0
  • 历史总积分:3013
  • 注册:2007年5月17日
发表于:2011-11-28 09:18:56
3楼

无图无真相。

上(电脑、触摸屏等)下(PLC,智能仪表等)通信,无非就是驱动问题。像国内组态软件,包含的驱动比较多的。如果真没有,那么可以借助OPC来完成通信。

我想,关于通信的设置,没必要多说。

总之,上下通信是比较简单的。PLC与智能设备间有时候比较复杂。

ye_w

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

其实使用同样的协议采集多台PLC,尤其是PLC是一样的时候,在上位机组态软件配置中几乎一样,当然除了地址以外。所以多台PLC实际上重复配置。

 

下面介绍使用ABB AC500plc和杰控软件来实现楼主的要求。

最常见的就是串口方式,当然,既然是多台,那就需要使用485接口,如果是232接口,那就需要232转485的适配器才行。

 

使用的驱动是:.MB_AC500 驱动程序,这个驱动支持ABB 的AC500 系列PLC 串口通讯。

设置 PLC 串口:

打开AC500 编程软件CoDeSys, 执行Resources 下[PLC Configuration]项,弹出界面:

选中COM1/2-Online access[SLOT],用鼠标右键执行Replace element 下的COM2-MODBUS 项, 并在右侧设置该口的波特率(Baudrate)、数据位(Data bits)、停止位(Stop Bits)、校验方式(Parity)、使用方式(Operation)和站号(Address),这个站号就是下面组态软件中的设备号,必须一一对应,如下图所示:

 

安装驱动程序:

定义设备号,下图中的设备号就是针对PLC地址而已的,多台之间,地址必须一一对应

各种数据类型的在每个设备号中的最大数据长度:

应选用的处理方式:
至于数据库方面,简单的就是ACCESS,稍微复杂就是SQL Server即可。下面就以SQL Server为例来设置。
设置历史数据库
历史数据存储在数据库中,对应的数据源为FameView DocData Source;
系统可使用的数据源类型为Access、SQL Serve; 
      Access数据库文件为DocData.mdb, SQL Server数据库文件为DocData.mdf; 
      数据表的名称必须为DocData; 
      数据库文件缺省存放于系统的根目录下,也可以通过修改数据源,把数据库文件存放于本地或远程计算机的任何地方;
如果历史数据存储量较小,可以使用Access 数据库,不需要另外安装其他软件; 
建议使用SQL Server作为历史数据库,但必须在本地计算机上安装SQL Server或MSDE/Express; 
  缺省历史数据库类型根据本地计算机安装环境决定: 
      在安装组态系统时,将优先检测是否安装有SQL Server数据库; 
      如果检测到SQL Server或MSDE/Express存在,则将数据源类型设置为SQL Server;
      如果检测SQL Server或MSDE/Express不存在,则将数据源类型设置为Microsoft Access; 
可以手动修改数据源类型:
    选择“我的系统->设置”功能;
     执行<4.存储数据库类型>任务,出现下面的对话框:
     可以在Access 和SQL Server 数据库类型之间进行切换; 
     如果选择SQL Server数据库,要设定其占用的最大内存,缺省值为128MB;
因为 Access 数据库不支持自动收缩,所以选择 Access 作为历史数据库类型时,为防止数据库空间膨胀,应把数据库设置为定长数据库,即选择“历史数据”功能,执行<1.历史数据库属性>任务,出现下面对话框:
   计算需要存储的历史数据最大记录数n,选择“限定数据库记录数量”,并使最大记录数量=n; 
   定长数据库的空间不会发生变化,最大记录数为 n,存储数据时,先从开始记录存储,当存够 n条记录时,再回到开始记录;
   定长数据库的内容不能被删除; 
   定长数据库也适用于SQL Server数据库;
选用MSDE作为数据库,但数据库的文件尺寸不能超出1800M; 选用SQL Server作为数据库,但数据库的文件尺寸最好不要超出 15000M;为防止数据库达到危险边界,应设定数据库的文件尺寸,即选择“历史数据”功能,执行<1.历史数据库属性>任务,出现下面对话框:
    如果使用MSDE 数据库,建议的最大文件容量为1500MB,即1.5GB; 
    如果使用SQL Server数据库,建议的最大文件容量为15000MB,即15GB;
    经测试,MSDE/SQL Server数据库,1M文件尺寸可存储8000条记录; 
    如果文件尺寸达到设定值,即使存档没有到期,也会提前删除某些记录,来保障文件尺寸;
如果没有选择定长数据库,则系统会每隔15 分钟,检查并删除历史数据库中过时数据; 
经验证明,历史记录数量小于1000万条,能保障系统的正常运行;

010101aaa

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 2回
  • 年度积分:0
  • 历史总积分:15
  • 注册:2011年11月29日
发表于:2011-11-29 21:01:41
5楼
购买任意一件即送2Q币了 要潮就来把、、淘宝店铺 http://zhuxiaofei1118.taobao.com       要开网店的加我592346207

BH黑马

  • 精华:0帖
  • 求助:1帖
  • 帖子:13帖 | 99回
  • 年度积分:0
  • 历史总积分:1042
  • 注册:2010年3月24日
发表于:2011-11-29 22:35:12
6楼

用两套西门子315 plc,通过cp343与intouch通讯,plc之间用Profibus-DP通讯

配置:主站CPU315-2DP,CP343-1及接口模块,从站CPU315-2DP及接口模块,上位机intouch,DAsever

intouch读取从站QB0-QB1,通过从站发送到主站,然后从主站读取数据,间接的从从站读取数据(intouch读取主站的IB0--IB1,IB0-IB1为从站QB0-QB1的数据)IB,QB不是实际的物理地址,是虚拟的,不能与实际的物理地址冲突,配置输入/输出时应避开通讯区

首先创建从站并建立DP网络

双击DP接口打开DP属性设置为从站
接下来设置通讯接口区,点击新建
此处设置一个字的输入,地址设置为0,长度设置为2,单位设置为字节,一致性设置为单位。长度,单位根据需要可自由设定,通讯去长度与CPU型号有关,最大224个字节,一致性可设置为全部,也就是打包发送与接受,需调用SFC14,15打包解包,这里用单位
再新建输出两个字节,设置同上
设置完后,输入两个字节,输出两个字节单击确定
再插入两块数字量模块
然后保存,并编译
创建主站,组态硬件,插入机架,组态CPU弹出DP接口组态界面,选择从站建立的DP网络
插入CP343-1以太网通讯模块,为与intouch通讯做准备,在弹出的界面,新建以太网络,设置IP地址
IP地址设置为:192.168.0.1
设置主站的DP属性:工作模式为主站
之后将组态好的从站挂到从站上,在右面配置表中选择Profibus-dp---configured station---CPU 31x
将其拖拽到主站的网络,出现DP从站属性窗口,选择从站,点击链接
显示激活连接
接下来选择组态,配置主站与从站的通讯接口连接,然后选择编辑,配置主站输入输出,长度与从站设置一样
从站的输入对应主站的输出,从站输出对应主站的输入,开始地址都设置成0
配置结果,保存并编译
主站与从站的对应关系
主站                  ------                           从站
IB0-IB1             ------                          QB0-QB1<

BH黑马

  • 精华:0帖
  • 求助:1帖
  • 帖子:13帖 | 99回
  • 年度积分:0
  • 历史总积分:1042
  • 注册:2010年3月24日
发表于:2011-11-29 22:46:19
7楼

以上已经经过测试,做过项目,肯定可行

 

 

 

怎么上传的intouch部分都没了啊 啊啊 啊

BH黑马

  • 精华:0帖
  • 求助:1帖
  • 帖子:13帖 | 99回
  • 年度积分:0
  • 历史总积分:1042
  • 注册:2010年3月24日
发表于:2011-11-30 11:22:17
8楼
没了就不传了,程序部分,将想从从站获取的数据传送到从站输出QB0-QB1就行了,QB0-QB1与主站的IB0-IB1对应,在intouch里创建变量即可,intouch用DASever以太网通讯

yanwen0227

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

hzhpl

  • 精华:0帖
  • 求助:3帖
  • 帖子:21帖 | 355回
  • 年度积分:2
  • 历史总积分:5311
  • 注册:2011年10月21日
发表于:2011-12-02 18:01:49
10楼

    学习………………

饶歌

  • 精华:0帖
  • 求助:0帖
  • 帖子:13帖 | 1000回
  • 年度积分:285
  • 历史总积分:13646
  • 注册:2003年4月30日
发表于:2011-12-02 19:08:03
11楼

很想参与这个,可惜以前做的项目都不在手上,回去找找吧。

fengdongqing

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 4回
  • 年度积分:0
  • 历史总积分:14
  • 注册:2010年12月06日
发表于:2011-12-03 08:59:00
12楼
请问哪位大侠知道OMRON PLC CJ1W CPU12更换方法?我把旧CUP12中的程序导入新的CUP12中,怎么还是不能用,不知道为什么?听说还进行协议宏的导入,可协议宏该怎样导入呢?

请各位不吝赐教,在此谢谢啦!

colinchi

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 27回
  • 年度积分:0
  • 历史总积分:113
  • 注册:2009年6月04日
发表于:2011-12-05 15:09:35
13楼
高手呀,都看不懂,还得努力学习

玻璃的心

  • 精华:30帖
  • 求助:2帖
  • 帖子:962帖 | 5801回
  • 年度积分:0
  • 历史总积分:61250
  • 注册:2010年6月11日
发表于:2012-01-03 19:59:22
14楼

一等奖2名,50MP获得者:

 

ye_w                   ye_w

bhdxzgp               bhdxzgp

二等奖1名,10MP获得者:

 

BH黑马                BH黑马

 

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

 

春华★秋实          zuozuoyi
                                                           

玻璃的心

  • 精华:30帖
  • 求助:2帖
  • 帖子:962帖 | 5801回
  • 年度积分:0
  • 历史总积分:61250
  • 注册:2010年6月11日
发表于:2012-01-03 20:02:01
15楼

一等奖2名,50MP获得者:

ye_w                   ye_w

bhdxzgp               bhdxzgp

二等奖1名,10MP获得者: 

BH黑马                BH黑马

 

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

春华秋实          zuozuoyi

玻璃的心

  • 精华:30帖
  • 求助:2帖
  • 帖子:962帖 | 5801回
  • 年度积分:0
  • 历史总积分:61250
  • 注册:2010年6月11日
发表于:2012-01-03 20:03:24
16楼
本期擂台到此为止,欢迎大家继续参与我们以后的各期擂台!

热门招聘
  • 客服
  • 小程序
  • 公众号