导航:首页 > 软件知识 > profinet通讯如何写程序

profinet通讯如何写程序

发布时间:2023-01-22 19:18:52

① 如何编写PROFINET IO设备通讯块FC11和FC12

如果您要使用 S7-300 工业以太网模板作为 PROFINET IO 控制器或者 PROFINET IO 设备, 那么您必须调用一下通讯功能块在用户程序中:

FC11 "PNIO_SEND"
FC12 "PNIO_RECV"
通讯块 FC11 “PNIO_SEND” 和 FC12 “PNIO_RECV” 的特性:

FC11 和 FC12 是同步通讯块。
块被包含在 S7-300 控制器“SIMATIC_NET_CP” 库中。
块必须被调用在 OB1 中
功能调用结束通过 “DONE”, “NDR” 或 “ERROR” 表示。
FC11 “ PNIO_SEND” 通讯功能块的特性 :

作为 PROFINET IO 控制器
功能块通过通讯处理器传送指定输出范围内的过程数据 (输出) 到 PROFINET IO 设备并且提供同样的状态给 PROFINET IO 设备的输出。
作为 PROFINET IO 设备
功能块读取 PROFINET IO 设备 CPU 的过程映像输入区并且传送它们到 PROFINET IO 控制器 (被组态的输入地址);提供同样的状态给 PROFINET IO 控制器。
FC12“ PNIO_RECV” 通讯功能块的特性 ::

作为 PROFINET IO 控制器
功能块接受 PROFINET IO 设备的过程数据(输入) 并且提供来自于 PROFINET IO 设备的指定输入区的状态。
作为 PROFINET IO 设备
功能块接受 PROFINET IO 控制器发送的数据 (被组态的输出地址) 并把 PROFINET IO 控制器的传送数据的状态写到 PROFINET IO 设备以组态好的数据区中。
组态描述:
STEP 7 项目包括以下被组态成 PROFINET IO 控制器的 S7-300 站:

CPU 319-3PN/DP
STEP 7 项目包括以下被组态成 PROFINET IO 设备的 S7-300 站:

CPU 315-2DP 和 CP343-1 Lean (6GK7 343-1CX10-0XE0)
ET 200S

接下来的输入/输出模块被组态到 PROFINET IO 设备 CP343-1 Lean中:

地址是 0-15 的 16 字节输入模块
地址是 16-23 的 8 字节输入模块
地址是 0-15 的 16 字节输出模块
地址是 16-19的 4 字节输出模块
这表明输入地址区和输出地址区分别是 24 字节 (0-23) 和 20 字节 (0-19)。 输入和输出首地址可以不是"0".接下来的输入/输出模块被组态到 ET 200S 中:

地址是 20.0-20.1 的 2 位输出模块

最终的地址区是:

输入: 0-23 = 24 字节
输出: 0-20 = 21 字节
用户程序描述:
在这个例子中, 一个 CP343-1 Lean 被用作连接一个作为 PROFINET IO 设备的S7-300 站到一个 PROFINET IO 系统中。字节 MB0 被定义成 S7-300 CPU 时钟位。STEP 7 程序包括 OB1, FB100, DB30, DB31, DB12, FC11 and FC12.

OB1
OB1 被循环调用。 在这个OB中, FB100 (实例 DB: DB100)被调用。

FB100
FB100 被调用在 OB1 中。 在这个 FB 中,FC11 “PNIO_SEND” 和 FC12 “PNIO_RECV” 被调用。

输入参数 MODE=0, 因为通讯处理器仅被用作 PROFINET IO 设备。如果通讯处理器被同时用作 PROFINET IO 控制器和 PROFINET IO 设备,那么输入参数 MODE=1。

输入通讯功能参数 CPLADDR 是你指定的 PROFINET IO 设备的模块地址。你从硬件组态中可以得到它,在工业以太网通讯模块 -> “ 地址” 标签 (参看 图. 06)。在这个例子中, CP343-1 Lean 模块地址是 256dec = 100hex.。

FC11 “ PNIO_SEND” 的输入参数 LEN 是你组态的 CP343-1 Lean (24 字节) 的输入地址区的长度。 这段数据长度被指定为 FC11 “PNIO_SEND” 发送数据的 LEN 参数。这段数据必须与已组态的的输入 (24 字节) 保持一致。

FC12 “ PNIO_RECV” 的输入参数 LEN 是你组态的 CP343-1 Lean (20 字节) 的输出地址区的长度。 这段数据长度被指定为 FC12 “PNIO_RECV” 发送数据的 LEN 参数。这段数据必须与已组态的的输出 (20字节) 保持一致。

发送接收缓冲区 (例如 数据块) 包含了被发送和接收的数据,长度至少要和被定义的发送和接收数据一样长。在这个例子中,DB 包含的发送数据长度必须大于等于 24 字节并且 DB 包含的接收数据长度必须大于等于 20 字节。

FC11 “PNIO_SEND” 和 FC12 “PNIO_RECV” 的输出参数 “DONE”、“NDR”、“ERROR” 和 “STATUS”是通讯功能块的工作标示位。
如果发送任务成功完成,那么 FC11 “PNIO_SEND”的 “DONE”将被置位。
如果接收任务成功完成 (例如:数据被接收到) ,那么 FC12 “PNIO_RECV”的 “NDR”将被置位。

如果 FC11 “PNIO_SEND” 和 FC12 “PNIO_RECV” 由于错误而结束,可通过状态字进行错误分析。

PROFINET IO 控制器的用户程序描述:
在这个例子中,一个带有集成以太网接口的 S7-300 CPU 被用作 PROFINET IO 控制器。 字节 MB0 被定义成 S7-300 CPU时钟位。
STEP 7 程序包括 OB1, FB100 和 DB20。

在用户程序中没有必要调用通讯功能块。可以通过装载和传送命令来访问输入/输出区,例如,读出输入值和写值到输出。读到的输入值被保存到数据块 (DB20)中。

② step 7编程时怎么创建profinet 组件

step 7编程时怎么创建profinet 组件
1、点击菜单Tool后选择Options,出现Options对话框 2、在Options对话框中选择 3、在Gernerl页面下按图示选择后,确定,如果需要保存当前正在编辑的程式,选择YES,否则选择No。 4、重新启动Step7 MicroWin程序后,就是中文界面。
MW16,是一个字,16位,包括MB16,MB17,m17.2是MW16的底字节第3位。 上图,不知道调用的块的具体程序,暂认为MW16的值是10,那么二进制就是00000000 00001010 底字节(从右边)第3位,就是M17.2,值是0,高字节8位是MB16,底字节8位是MB17。

③ 西门子S7-300怎么通过profinet从丹佛斯变频器读取数据,我知道怎么进行组态的设置,但是不会写程序

组态好了之后,你要在子站插入了输入输出模块,并且组态的时候通过在线将profinet子站名关联到丹佛斯变频器,如果是通过PN卡通讯,那么需要使用西门子CP库中得CP11和CP12读写,如果是通过集成的PN口经行PROFInet通讯,那么直接就使用IO就可以了,比如使用PIW或者PQW。。还有,对于使用附加出来的PN卡经行通讯时PK卡应该设置为通讯处理器的模式,而不是外部IO的模式。

④ 如何实现c#profinet编程

您好,PROFINET由PROFIBUS国际组织(PROFIBUS International,PI)推出,是新一代基于工业以太网技术的自动化总线标准。作为一项战略性的技术创新,PROFINET为自动化通信领域提 供了一个完整的网络解决方案,囊括了诸如实时以太网、运动控制、分布式自动化、故障安全以及网络安全等当前自动化领域的热点话题,并且,作为跨供应商的技 术,可以完全兼容工业以太网和现有的现场总线(如PROFIBUS)技术,保护现有投资。
PROFINET是适用于不同需求的完整解决方案,其功能包括8个主要的模块,依次为实时通信、分布式现场设备、运动控制、分布式自动化、网络安装、IT标准和信息安全、故障安全和过程自动化。
PROFINET主要有两种通信方式[1]:
(1)PROFINET IO实现控制器与分布式I/O之间的实时通信;
(2)PROFINET CBA实现分布式智能设备之间的实时通信。
从PROFINET的角度来看,PROFINET IO是在工业以太网上实现模块化、分布式应用的通信概念。通过PROFINET IO,分布式I/O和现场设备能够集成到以太网通信中。
1 PROFINET IO的基本概念
1.1 PROFINET IO的工程模型
(1)IO控制器
IO控制器[2]一般是可编程控制器(例如PLC),它能够执行自动化程序。其功能相当于PROFIBUS类型1的主站。
(2)IO设备
IO设备是连接到PROFINET网络中的现场分布式I/O。
(3)IO监视器
IO监视器[2]是一种工程设备,通常为PC、HMI或可编程控制器,用于IO控制器和IO设备的调试和诊断,在运行期间连接IO监视器,通常只是暂时性地用于调试和故障处理。IO监视器的功能相当于PROFIBUS类型2的主站。
1个PROFINET IO系统应该包括至少1个IO控制器和1个IO设备。

⑤ 如何实现SIMOTION 与计算机的PROFINET RT通信

1.
创建一个新项目,并插入一个新的SIMOTION设备:
2.
选择正确的产品和版本:
3.
创建网络并且分配IP地址:
4.
选择计算机连接的SIMOTION接口以及计算机使用的网卡:
5.
在打开的硬件组态中点击F4
进行自动排列:
6.
双击CBE30模块,组态于计算机通信的IO地址,点击“NEW”添加通信的地址:
7.
添加输入和输出地址,本例各为200个字节:
8.
配置结果如下图:
9.
生成GSD文件并导入到本机内部,用于后续组态:
2.2
硬件组态(PC
Station)
对PC
Station的硬件组态步骤如下:
1.
组态PC
Station,在PC的机架上分别添加OPC
Sever、Application、IE
General:
2.
组态IE
General
到网络中:
3.
点击菜单“Insert”下面的“PROFINET
IO
System”,插入一个PROFINET的网络:
4.
分配网络到Application,如果需要通信的程序为OPC,则选择OPC
Sever,本例为IO
BASE的通讯方式,所以选择Application:
5.
拖拽导出的SIMOTION
I-Device的GSD文件到PROFINET
IO
system
(100)上:
6.
保存编译即可。
7.
组态与SIMOTION通讯的输入/输出地址为512
开始,需要注意此地址,因为在后续编程中需要使用。
8.
组态计算机,分别下载计算机组态和SIMOTION组态。如下图所示:
2.3
编写程序
1.
在SIMOTION中编写数据发送测试程序如下图所示,将此程序分配至servo
task中:
2.
打开计算机的IO
base
例子程序,其存贮路径如下:
C:\Program
Files
(x86)\Siemens\SIMATIC.NET\pnio\Examples\easy
通过编程软件打开pnioeasy.sln即可。
3.
修改输入和输出的配置,本例输入/输出各200个字节:
4.
修改输入输出数据如下图,即从SIMOTION中读取数据后发回给SIMOTION,同时显示当前读取使用的时间(SERVO
TIME
是3ms,所以乘以3):
5.
保存并且编译运行即可。
6.
点击字母“s”启动应用程序
7.
通过SIMOTION可以trace到结果如下图所示:
8.
输入读取到上位机后,再返回到SIMOTION需要的时间受计算机速度影响,本例使用的是西门子PG
m3:
9.
如果同时播放大尺寸的高清视频则应用会受到影响:
10.
如果使用的是OPC方式进行数据交换,则需将PC
Station中的硬件组态修改为OPC方式
11.
可以使用西门子提供的客户端例子程序进行测试,例子程序在下述存贮路径中:
C:\Program
Files
(x86)\Siemens\SIMATIC.NET\opc2\samples\Custom\Sync
12.
打开例子程序后,修改OPC的条目名称,条目名可以通过OPC
SCOUT获取:
13.
增加两个条目,用于通信测试:
14.
增加写变量代码如下:
15.
运行后即可实现OPC
客户端通信,需要注意,具体的时间测试和变量操作需要根据实际需求改写例子程序。
注意:
(1)PROFINET
IO功能需要SIMATIC
NET
SOFTNET授权。
(2)
使用的计算机执行的其他任务越少越好。
(3)
windows不是实时的操作系统。
(4)
本例测试的时间仅供参考,不具有广泛意义。

阅读全文

与profinet通讯如何写程序相关的资料

热点内容
食品代理批发一个月能赚多少钱 浏览:122
代理生意利润怎么样 浏览:796
暖房小程序审核要多久 浏览:870
徐菜市场在哪里 浏览:911
怎么做康师傅喝开水代理商 浏览:916
为什么安卓市场屡次停止运行 浏览:707
智慧家庭产品怎么买 浏览:8
下塘农贸市场在哪里 浏览:182
成功的交易系统应具备哪些要素 浏览:335
永泰有什么农产品 浏览:112
sqlite如何打开数据库 浏览:292
英雄联盟的登陆程序是哪个 浏览:536
广州外贸服装批发市场在哪里 浏览:351
手机信息里面的字如何调大细 浏览:722
舜天华为代理怎么样 浏览:979
支付平台代理怎么做 浏览:292
淘宝上做虚拟产品怎么发货 浏览:755
mvp方法产品的需求来源有哪些 浏览:657
成都电力技术学院怎么去读 浏览:416
股市交易怎么查询历史 浏览:620