西门子CPU模块中国代理经销商
西门子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系列变频器、G110G120变频器、直流调速器、电线电缆、
驱动伺服产品、数控设备SIEMENS低压配电与控制产品及软起动器等
为允许在CPU和CP之间复制CBA数据,而不会出现太长的中断,后续调用必须尽可能快 ,且与定时无关。 对于编程,请注意下列建议:● 由一个定时器OB提供定时;定时器OB只能引起初次调用PROFINETCBA块FB88或FB90,它不是通过直接调用块的方式调用,而是通过置位一个启动标 志来调用。 调用时间 OB 的周期不应超过 30s。 ● 应始终在OB1中完成PROFINET CBA块FB88和FB90的调用;一旦定时期OB置位启动标志,OB1立即启动调用。● 在初次块调用后,在OB1中重复调用,直到置位DONE位为止(或直到出错为止);然 后必须复位启动标志。 结果:由于将定时器OB与OB1中的实际块调用分离,可以在CPU和CP之间复制CBA用户数据, 而不会出现明显的中断。根据应用要求,可以选择前几次调用之间的时间间隔。用于开放式通信服务的程序块(SEND/RECEIVE 接口) 5.1.1 使用概述概述 下列程序块可用于 SEND/RECEIVE 接口,用于在组态的 FDL 连接上传送数据: 程序块 可用于 1) 含义S7-300 S7-400 AG_SENd (FC5) x x 用于发送数据 AG_RECV (FC6) x x 用于接收数据AG_LSENd (FC50) x 用于发送数据 AG_LRECV (FC60) x 用于接收数据1)有关用于S7-300和S7-400的FC的注意事项为了确保PROFIBUS和工业以太网在用户程序接口上的兼容性,对于PROFIBUS可以用F CAG_LSEND和AG_LRECV代替AG_SEND和AG_RECV进行使用。 在接口或它们的功能方面没有区别。在工业以太网上,这些FC可以传送更长的数据记录,在PROFIBUS上,*多 只能传送240个字节的数据。只有当使用的CP类型支持块类型和块版本时才可以进行此操作。 对于S7-300的S7-CP,只能使用FCAG_SEND和AG_RECV;在工业以太网上甚至可以传送更长的数据记录手册中包含了有关S7-CP与相应块(FC/FB)的兼容性的信息。在文档和块历史中,可查找到关于FC/FB的版本总览。对于一个指定的FDL连接,由连接组态指定地址和作业参数。用户程序只有在通过AG_SEND/AG_LSEND发送数据或通过AG_RECV/AG_LRECV接收数据时才提供FDL数据区中的用户数据。 *多可传送240字节的用户数据。这适用于AG_SEND和AG_LSEND功能的PROFIBUS。 使用作业报头进行工作 下列连接类型要求在FDL(用户)数据区中有一个作业报头: ● 带自由第2层访问的未指定FDL连接 ● 带有广播的FDL连接 ● 带有多点传送的FDL连接下图阐述了作业缓冲区的结构以及作业报头中参数的含义和位置。5-2 通过带已编程广播寻址的FDL连接发送和接收用户数据区*多可为240个字节。 *多可传送236字节的用户数据。 为作业报头保留4个字节。请注意,在块调用中指定的数据长度(LEN参数)必须包括报头和用户数据! 5.1.2 AG_SEND/AG_LSEND 5.1.2.1含义和调用 - AG_SEND / AG_LSEND 块的含义 程序块 AG_SEND/AG_LSEND 将数据传送到PROFIBUS CP,用于在组态的 FDL 连接上进行传输。 选定的数据区可以是一个过程映像区、存储位区或数据块区。当可以在PROFIBUS上发送整个FDL数据区时,指示无错执行该函数。 注意事项: 除非声明,否则下面的所有信息对于FCAG_SEND和AG_LSEND二者都适用。下表给出了必须在作业报头中提供其参数的连接类型和作业类型。 作业报头位于FDL(用户)数据区中。 它占用前4个字节,必须加到LEN参数中指定的长度中。 带作业报头的作业的*大用户数据长度减少到236个字节。表格 5- 1 在用户数据区中提供作业报头 参数 FDL连接类型 未指定: 空闲层2 2) 广播 组播 PB地址 目标站地址 值范围:0..126,取决于节点/ 用于广播/多点传送时为127 目标站的LSAP 值范围:0..62,取决于节点/ 广播时为63 无意义但必须保留该 区域。 无意义但必须保留该 区域。 服务1) SDA(带确认的发送数据): 数值: 00H SDN (不带确认的发送数据): 数值: 01H 无意义但必须保留该 区域。无意义但必须保留该 区域。 1) 对于广播和多点传送,只能使用SDN服务。 2)该列中广播和多点传送信息,只有在为广播或多点传送使用未指定的FDL连接时才相关。在将广播或多点传送作为连接伙伴的已组态FDL连接(建议应用)上,根据组态自动分配地 址参数。 5.1.2.2 AG_SEND /AG_LSEND如何工作 工作原理 下图阐述了在用户程序中,使用AG_SEND触发的数据传输的正常顺序。 一旦传递参数ACT =1,立即执行发送作业。 在这之后,必须在至少一个调用中传递参数ACT=0。输出参数DONE、ERROR和STATUS中的状态代码将在每个块调用中进行更新,并可对 其进行计算。为了不启动新的发送作业就更新状态代码,可通过参数ACT=0启动一个新的块调用。请参见本部分末尾的实例程序。下面的表格解释了AG_SEND/AG_LSEND功能 的所有形式参数: 参数 声明 数据类型 可能的数值说明 ACT INPUT BOOL 0,1 如果使用ACT=1对FC进行调用,则从使用SEND参数指定的ISO传输数据区中发送LEN个字节。 当通过ACT=0调用FC时,更新状态代码DONE 、ERROR和STATUS。 IDINPUT INT 1,2...64 (S7-400) 1,2...16 (S7-300) 在参数ID中指定FDL连接的连接数。LADDR INPUT WORD 模块起始地址 当组态CP时,在组态表中显示模块的起始地址 。 在此指定该地址。 SEND INPUTANY (仅下列类 型允许作为 VARTYPE : 允许使用W ORD和DW ORD) 指定地址和长度数据区的地址指向下列两个位置之一: • PI区 • 存储位区 • 数据块区 通过一个带作业报头的调用,FDL数据区包含作业报头和用户数据。 LEN INPUT INT 1、2...240 (或*大为"为SEN D参数指定的长度 ")要通过该作业从FDL数据区发送的字节数。 可能的数值范围为1至SEND参数中指定的长度 。通过带作业报头的调用,长度信息由作业报头(4 个字节) + 用户数据(1 - 236个字节)构成。 LEN >=4! 可能的数值 说明 DONEOUTPUT BOOL 0: - 1:新数据 该状态参数指示是否无错完成作业。 对于与ERROR和STATUS参数一起使用时的含义,请参见AG_SEND 和 AG_LSEND 的条件代码 (页 246)。 ERROR OUTPUT BOOL 0: - 1:错误故障代码 对于与DONE和STATUS参数一起使用时的含义 ,请参见AG_SEND 和 AG_LSEND 的条件代码 (页 246)STATUS OUTPUT WORD 状态代码 对于与DONE和ERROR参数一起使用时的含义 ,请参见AG_SEND 和AG_LSEND 的条件代码 (页 246) 5.1.2.4 AG_SEND 和 AG_LSEND 的条件代码 条件代码下表显示了根据 DONE、ERROR 和 STATUS 形成的条件代码,其中这些参数必须由用户程序进行评估。 说明 对于 STATUS中以 8FxxH 编码的条目,请参见引用的系统程序块说明中的输出参数 RET_VAL 的相关信息。 可在 STEP 7中查询使用了哪些系统程序块以及哪些系统程序块与错误评估相关。 表格 5- 2 AG_SEND条件代码 DONE ERRORSTATUS 含义 1 0 0000H 作业完成无错误。 0 0 0000H 没有任何作业在执行中。 0 0 8181H 激活作业。0 1 7000H 此条件代码仅适用于S7-400: 使用ACT=0调用FC;作业尚未处理。 0 1 8183H没有组态或尚未在PROFIBUS CP上启动FDL服务。可能的原因: • 为SEND参数指定非法数据类型。 •无作业缓冲区的FDL连接: 系统错误。 • 带作业缓冲区的FDL连接:参数 LEN<4 或作业报头中出现非法参数(带空闲的第 2层访问)。 0 1 8185H LEN参数长度大于SEND源区域。 0 1 8186H ID参数无效。 ID != 1、2...16。0 1 8301H 没有在目标站上激活SAP。 0 1 8302H 目标站上没有接收资源;接收站没有足够的速度来处理已接收的数据或还未准备任何接收资源。 0 1 8303H 在目标站的该SAP上不支持PROFIBUS服务(SDA,带确认的发送数据)。当在“RUN”模式中下载连接或网关时,可能临时出现该条件代码。 0 1 8304H 没有建立FDL连接。 0 1 8311H无法通过指定的PROFIBUS地址到达目标站,或所使用的服务不能用于指定 的PROFIBUS地址。 0 1 8312HCP上的PROFIBUS错误: 例如,总线短路、站不位于环中。 0 1 8315H 可能的原因: •在一个带作业报头的FDL连接上发生内部参数错误:参数 LEN<4 或作业报头中出现非法参数(带空闲的第 2 层访问)。 •总线中断 其它可能含义: • 出现总线问题(例如,由于电缆连接不良或各节点上设置的传输速度不同而产生物理干扰)时也可能显示此错误代码。 0 1 8F22H 源区域无效,例如: 该区在DB中不存在 LEN 参数小于 0 0 18F24H 读取参数时发生区域错误。 0 1 8F28H 读取参数时发生队列错误。 0 1 8F32H该参数包含了一个太高的DB号。