西门子S7-200中国一级代理商
西门子S7-SMART200、 S7-200CN、S7-300、S7-400、S7-1200、S7-1500、S7-ET200SP 等各类工业自动化产品。西门子授权代理商、西门子一级代理商 西门子PLC模块代理商﹐西门子模块代理商供应全国范围:
我们还提供西门子G120、G120C V20 变频器; S120 V90 伺服控制系统;6EP电源;电线;电缆;
网络交换机;工控机等工业自动化的设计、技术开发、项目选型安装调试等相关服务。
西门子中国授权代理商—— 浔之漫智控技术(上海)有限公司,本公司坐落于松江工业区西部科技园,西边和全球**芯片制造商台积电毗邻,
东边是松江大学城,向北5公里是佘山国家旅游度假区。轨道交通9号线、沪杭高速公路、同三国道、松闵路等
交通主干道将松江工业区与上海市内外连接,交通十分便利。
公司国际化工业自动化科技产品供应商,是专业从事工业自动化控制系统、机电一体化装备和信息化软件系统
集成和硬件维护服务的综合性企业。与西门子品牌合作,只为能给中国的客户提供值得信赖的服务体系,我们
的业务范围涉及工业自动化科技产品的设计开发、技术服务、安装调试、销售及配套服务领域。建立现代化仓
储基地、积累充足的产品储备、引入万余款各式工业自动化科技产品,我们以持续的卓越与服务,取得了年销
售额10亿元的佳绩,凭高满意的服务赢得了社会各界的好评及青睐。
目前,浔之漫智控技术(上海)有限公司将产品布局于中、高端自动化科技产品领域,
PLC模块S7-200、S7-1200、S7-300、S7-400、ET200分布式I/O等
HMI触摸屏、SITOP电源、6GK网络产品、ET200分布式I/O SIEMENS 驱动产品MM系列变频器、G110 G120变频器、直流调速器、电线电缆、
驱动伺服产品、数控设备SIEMENS低压配电与控制产品及软起动器等
可能值 说明
IOPS OUTPUT ANY
(作为VAR
TYPE,
仅允许BY
TE)
数据区的地址指向下列两个
位置之一:
• 存储器位区
• 数据块区
长度:
对于*大值,请参见本手册
与设备相关的B部分的"性能
数据"部分。这对控制器或
设备模式有所不同。
IO提供者状态
每一用户数据字节传送一个状态位。
要求:
在MODE参数中请求传送(MODE=0或M
ODE=1)。 该参数仅在该模式下相关。
长度信息取决于RECV参数中的长度(每
字节一位)
=(长度LEN + 7/ 8)
控制器模式:
地址间距也根据RECV参数进行传送。
将以状态GOOD传送地址间距!
设备模式:
地址间距不传送。
该块将启动地址0的状态传送。
注意:
• ANY指针的*小长度为
(长度LEN + 7/8)说明
ADD_INF
O
OUTPUT WORD 附加诊断信息
在控制器模式中:
• 0: 无报警
• >0: 未决报警的数目
在设备模式中,参数始终=
0。
参数扩展
注意事项:
当没有在PROFINET
IO控制器上组态INPUT地址时,也更新
ADD_INFO参数。
这种情况下,通过长度LEN > 0
(例如,LEN = 1字节)调用PNIO_RECV
块。 传送1字节的地址间距。
参数扩展可用于从下列固化程序版本起
的CP:
• 从固化程序V2.0起的CP 343−1
(EX30)
• 从固化程序V2.0起的CP 343−1
LeaN (CX10)
• 从固化程序V1.0起的CP 343−1
Advanced (GX30)
在较早的固化程序版本中,保留该参数
。
说明
等待确认执行
只有当块发出DONE = 1或ERROR = 1的信号后,才执行以下操作PNIO_RECV的条件代码
条件代码
下表显示了由NDR、ERROR和STATUS参数构成的代码,其中的参数必须由用户程序进
行计算。
说明
对于 STATUS 中以 8FxxH 编码的条目,请参见引用的系统程序块说明中的输出参数
RET_VAL 的相关信息。
可在 STEP 7 中查询使用了哪些系统程序块以及哪些系统程序块与错误评估相关。
表格 3- 2 条件代码PNIO_RECV
NDR ERROR STATUS 含义
0 0 8180H • 激活数据接受;
或
• CP处于STOP模式。
0 0 8181H 模块不支持块版本2.0。
解决方法: 使用块版本1.0。
1 0 0000H 无错接受新数据• 缺少PROFINET IO组态;
或
• CPLADDR参数错误;
或
• CP处于STOP模式。
或
• MODE互连与模块组态不匹配或MODE参数的互连不正确。
在设备模式中,也可能是:
• ROFINET IO控制器和PROFINET IO设备之间的连接被中断。
或
• PROFINET IO控制器不可到达
或
• 总长度(组态和LEN参数)不一致
0 1 8184H 系统错误或非法参数类型。
0 1 8185H 目标地址缓冲区(IOCS的RECV)太小。
0 1 8F22H 读取参数时发生区域长度错误(例如,DB太短)具有该地址的模块不存在。
0 1 80A0H 将否定确认写入模块中。
0 1 80A1H 将否定确认写入模块中。
0 1 80B0H 该模块不能识别数据记录。
0 1 80B1H • 所指定的数据记录长度错误。
或
• CP切换到STOP。
0 1 80C0H 无法读取数据记录。
0 1 80C1H 当前正在处理所指定的数据记录。
0 1 80C2H 未决的作业太多。
0 1 80C3H 资源已占用(内存)。
0 1 80C4H 通信错误(临时发生,通常建议在用户程序中重复执行该作业)。
3.2.3 用于PROFINET IO的FC的常规特征
IO消耗者状态(IOCS)和IO提供者状态(IOPS)
对于两个通讯伙伴 - 一个是CPU/CP,另一个是IO设备 -
存在关于数据状态好(GOOD)或差(BAD)的信息。 该状态信息将传送给数据。
对数据进行发送的伙伴的状态称作IOPS
(IO提供者状态),正在进行接收的伙伴的状态称作IOCS (IO消耗者状态)。
IOPS和IOCS状态无需完全相同。 例如,有可能S7-300
CPU处于STOP模式(输出无效或没有激活任何PROFINET IO块)。
此时,作为PROFINET IO控制器,CP将把BAD状态传送给IO设备。
用户会收到一条组消息,通知用户是否需要评估状态信息。
通过MODE参数,还可以决定是否要在调用接口上返回详细状态信息。
如果将信息限制为组消息,作业处理速度将加快。块调用和IO数据之间的关系
● 作为PROFINET IO控制器操作
当作为PROFINET IO控制器时,CP不监视PNIO_SEND/RECV块的周期性调用。
如果没有调用块,则*后传送的IO数据和IOCS/IOPS数据将被认为是有效。
● 作为PROFINET IO设备操作
FC11和FC12均有各自的监视狗。
根据CPU周期,如果在初始化阶段后不再调用两个块之一,则终止到PROFINET
IO控制器的连接。
优化数据传送(仅当作为PROFINET IO控制器操作时)
有可能所调用块的长度(LEN参数)短于PNIO链上所组态的IO数据总长度。
您可使用该数据,这样,在每个CPU周期内都将传送对时间有严格要求的数据,那
些对时间要求不严格的数据不是每个周期都传送。
实例:
例如,在每个周期内,可以只传送第一个数据区(对时间有严格要求的数据),而在每个第
二周期内传送所组态IO数据的总长度。
为此,在组态期间,必须将对时间有严格要求的数据放在较低的区(从IO地址0开始)中。
3.2.4 数据一致性
应始终以整体方式传送PROFINET
IO控制器的整个输入或输出数据区,以确保数据一致性。
● 作为PROFINET IO控制器操作
不管怎样,通过使用块调用中的长度信息,也可一致地读取或输出小于所组态数据区
的一个输入或输出区。
注意: 应牢记,对于PROFINET
IO系统内的“IO用户数据”来说,数据一致性只有在单个IO插槽中才能得到保证。
对于此处所描述的块,无论是否可以保证在CPU和IO控制器之间传送的数据一致性,这
都适用。
块调用
为了保证数据一致性,当块无错完成时(输出参数NDR=TRUE),必须只访问IO数
据。 也必须检查数据的IOCS或IOPS状态是否为GOOD。
替换值
操作情况
在下列两种操作情形下,均支持替代值的设置:
● 启动期间的替代值(CPU上的模式将从STOP切换到RUN)
● 如果检测到问题时的替代值(删除/插入或工作站故障/返回)
启动期间的替代值
可以在启动OB中设置一个存储位(“启动”存储位),使用替换值初始化输出。在周期性模式(
OB1)中,判断该“启动”存储位,在必要时使用初始值调用PNIO_SEND。如果出错,替换值(仅当作为PROFINET IO控制器操作时)
如果存在故障(设备/子模块出现故障),那么,通过查询状态信息IOCS/IOPS状态,将可查
找到哪些子模块已经无法工作。 随后可以选择设置替代值。
3.2.6 PNIO_RW_REC
3.2.6.1 含义和调用 - PNIO_RW_REC
意义及工作原理
FB52在PROFINET IO控制器模式下用于"数据记录读取"和"数据记录写入"两项功能。在
同一时间,FB52只能执行其中一项功能。"数据记录读取"或"数据记录写入"功能由WRITE
_REC参数控制。
CP 仅支持 I&M0 和 I&M1。
示例:可使用“写数据记录”功能向CP通知位置ID和设备名称(若尚未在STEP
7中的CP属性对话框中设置该参数)。这可通过带索引 AFF1H
的维护数据记录“IM1”来实现。
仅能读出带索引 AFF0H(订货号、序列号、版本)的数据记录 I&M0(写保护)。
您可以在下列Internet地址上找到所支持的数据记录及其结构的详细信息
可能值 说明
ID INPUT WORD PROFINET IO
组件(模块或子模块)的逻辑地址。
对于输出模块,设置了位15
(输出地址5示例:
ID:=DW#16#8005)。
对于混合式模块,必须指定两个地
址中较低的那个。
INDEX INPUT WORD 参见供应商信息以了解模块
支持的数据记录数目。
用户希望读取或写入的数据记录数
目。
DONE OUTPUT BOOL 0: -
1:成功传送数据记录
该参数指示是否无错完成该作业。
ERROR OUTPUT BOOL 0: -
1:错误
错误代码
STATUS OUTPUT WORD - 状态代码
LEN IN_OUT INT *大长度是 480 个字节。 • 读取数据记录:
仅OUTPUT参数;成功读取后,
指示读数据记录的长度;否则为
0。
• 写入数据记录:
仅INPUT参数;用户在此输入即
将写入的数据记录的长度。
该长度必须与数据记录中的定义
相匹配。
RECORD IN_OUT ANY
(VARTYPE
、BYTE、
WORD和D
WORD均允
许)
数据区的地址指向下列两个
位置之一:
• 存储器位区
• 数据块区
ANY指针的长度必须大于等
于数据记录中定义的长度。
• 读取数据记录:
仅OUTPUT参数;成功读取后,
数据记录中的数据都存储在此。
如果ANY指针过短,则传送的数
据就越多。
• 写入数据记录:
仅INPUT参数;用户在此存储从
数据记录写入的数据。
ANY指针的长度至少必须等于LE
N参数指定的长度。