
西门子授权变频器一级经销商
工控机等工业自动化的设计、技术开发、项目选型安装调试等相关服务。西门子中国有限公司授权合作伙伴——浔之漫智控技术(上海)有限公司,作为西门子中国有限公司授权合作伙伴,浔之漫智控技术(上海)有限公司代理经销西门子产品供应全国,西门子工控设备包括S7-200SMART、 S7-200CN、S7-300、S7-400、S7-1200、S7-1500、S7-ET200SP 等各类工业自动化产品。公司国际化工业自动化科技产品供应商,是专业从事工业自动化控制系统、机电一体化装备和信息化软件系统
集成和硬件维护服务的综合性企业。西部科技园,东边是松江大学城,西边和全球**芯片制造商台积电毗邻,作为西门子授权代理商,西门子模块代理商,西门子一级代理商,西门子PLC代理商,西门子PLC模块代理商,
,建立现代化仓
储基地、积累充足的产品储备、引入万余款各式工业自动化科技产品我们
向北5公里是佘山国家旅游度假区。轨道交通9号线、沪杭高速公路、同三国道、松闵路等
交通主干道将松江工业区与上海市内外连接,交通十分便利。
建立现代化仓
储基地、积累充足的产品储备、引入万余款各式工业自动化科技产品,我们以持续的卓越与服务,取得了年销
售额10亿元的佳绩,凭高满意的服务赢得了社会各界的好评及青睐。与西门子品牌合作,只为能给中国的客户提供值得信赖的服务体系,我们
的业务范围涉及工业自动化科技产品的设计开发、技术服务、安装调试、销售及配套服务领域。
激活、启动程序和循环程序
9.6.1 “CP440 SEND RECV”程序实例
激活、启动程序
启动程序位于 OB 100 中。
启动过程中将控制位和计数器复位。
循环程序
在组织块 OB 1 中定义循环程序。
在本例中,功能块 FB 9 “RECV_440”和 FB 10 “SEND_440”与功能 FC 21 和 FC 22 以及作为背
景数据块的数据块 DB 21 和 DB 22 和 作为发送或接收 DB 的 DB 42 和 DB 43 一起工作。
在本例中,部分通过常数,部分通过符号方式寻址的实际操作数为功能块分配参数。
数据传输
数据传输发生的起始点为从插槽 4 上的 CP 440 的到插槽 5 上的 CP 440。如果您使用其它通
信伙伴,则不调用 FC 22 (RECEIVE)。
对 FC 21 (SEND) 的说明
“生成跳沿 SEND_REQ”(Generate edge SEND_REQ) 程序部分:
*初当 SEND_REQ=0 时,SEND_440 运行一次,SEND_REQ 被设置为 1。当在
SEND_REQ 控制参数上检测到信号状态从“0”变为“1”时,SEND_440 作业启动。
当 SEND_DONE=1 或 SEND_ERROR=1 时,SEND_REQ 复位为 0。
“SEND_DONE=1”程序部分:
如果传输成功,在 SEND_440 的参数输出上 SEND_DONE 被置为“1”。
为了区分连续进行的传输,源块 DB 42 的数据字 0 中包含有一个发送计数器
(SEND_COUNTER_OK)。
“SEND_ERROR=1”程序部分:
如果 SEND_ERROR=1 时 SEND_440 运行了一次,则数据字 2 中的 SEND_COUNTER_ERR 错
误计数器递增 1。对 SEND_STATUS 进行复制,因为它将在下次运行中被 0 覆盖,这意味着
将不能够读取它的值。对 FC 22 (RECEIVE) 的说明
“接收数据使能”(Enable Receive Data) 程序部分:
必须将块 RECV_440 的接收使能端 (RECV_EN_R) 设置为“1”,才能接收数据。
“RECV_NDR=1”程序部分:
当 RECV_NDR 置位时,新数据已接收到,RECV_COUNTER_O 接收计数器的值递增。
“RECV_ERROR=1”程序部分:
如果执行不成功(也就是说,RECV_440 的参数输出端置位了错误位),则
RECV_COUNTER_ERR 错误计数器的值递增。 复制了 RECV_STATUS,因为在下次运行时它将
被 0 覆盖,将不再能够读出它的值。
在变量表中,可以观察所有相关的值,以用于测试。
9.6.2 “CP440 1 CYC”程序实例
本实例的建立与实例“CP440 SEND RECV”完全相同。 已经将 FC 21 修改为允许循环处
理一项 SEND 作业。
对 FC 21 (SEND) 的说明
循环处理一项 SEND 作业的过程如下:
• 每次块调用时,通过设置 SEND_REQ=0 使 SEND_440 运行一次。如果 SEND_DONE 和
SEND_ERRO 均未出现,则块终止。
• 如果出现 SEND_DONE,通过设置 SEND_REQ=1 使 SEND_440 再运行一次。
• 如果出现 SEND_ERROR,通过设置 SEND_REQ=0 设置 SEND_REQ=1 使 SEND_440 再
运行一次。
为了确保在*开始的第一次能够通过设置 SEND_REQ=1 使 SEND_440 运行一次,在“检查
是否出现 SEND_DONE 或 SEND_ERROR 或并非第一个周期”(Check if SEND_DONE or
SEND_ERROR or not first Cycle) 程序部分还对 SEND_STARTUP_ENDED 位进行检测。 在第一
次运行中,该位的值为 0,固定为
兼容通讯 | ||
● 提供支持 | 是; 关于 FC AG_SEND 和 AG_RECV,*大关于 10 CP 443-1 或 443-5 | |
● 每个任务的有效数据,*大值 | 8 kbyte | |
● 每个任务的有效数据(一致性),*大值 | 240 byte | |
● 每个 CPU 完成的 AG-SEND/AG-RECV 任务数量,*大值 | 24/24 | |
标准通讯 (FMS) | ||
● 提供支持 | 是; 通过 CP 和可装载 FB | |
通信功能 / PROFINET CBA(在设定的额定通信负载时)/ 标题 / 标题 | ||
● CPU 通讯负载的额定设置 | 20 % | |
● 远程互连组的数量 / PROFINET CBA 时 | 32 | |
● 技术功能的数量 / PROFINET CBA 时 / 用于主站或从站 | 150 | |
● 端子的数量 / PROFINET CBA 时 / 用于主站或从站 / 总计 | 4 500 | |
● 数据量 / 输入变量的 / PROFINET CBA 时 / 用于主站或从站 | 45 000 byte | |
● 数据量 / 输出变量的 / PROFINET CBA 时 / 用于主站或从站 | 45 000 byte | |
● 内部和 PROFIBUS 互连数量 / PROFINET CBA 时 / *大值 | 1 000 | |
● 数据量 / 内部和 PROFIBUS 互连的 / PROFINET CBA 时 / 用于主站或从站 | 16 000 byte | |
● 数据量 / PROFINET CBA 时 / 每个连接的 / *大值 | 2 000 byte | |
功率数据 / PROFINET CBA / 远程互连 / 带非循环传输 / 标题 | ||
— 更新时间 / 远程互连 / 非循环传输时 / PROFINET CBA 时 | 200 ms; 取决于设置的通讯负载、互连数量和使用的数据长度 |
“CP440 ASCII BCC”程序实例
程序实例的结构
该程序实例只对 ASCII 驱动程序有意义。
本实例的建立与实例“CP440 SEND RECV”完全相同,它还包含下列各项:
• 通过调用 FC 23 (GEN BCC) 在发送部分产生一个块校验和
• 在接收部分通过调用 FC 24 (CHK BCC) 检查块校验和
FC 23 (GEN BCC) 说明
“DB_NO”输入参数指定保存待发送数据的 DB。 “LEN”输入参数指定待发送数据的长度。 *后
两个字节应当保留用于块校验(保存为一个 ASCII 值)。
通过对待发送的所有字节 (LEN -2) 执行一次“异或”(XOR) 逻辑运算执行块校验。 “异或”(XOR)
逻辑运算发生在“LOOP”中。 通过 L DBB [#d_loop_akt] 命令加载相关的字节。 必须将
“#d_loop_akt”偏移量指定为一个位偏移量。 当“LOOP”执行结束后,块校验位于
“#w_bcc_value”变量的低字节中。 如下面的例子所述,块校验被编码为两个 ASCII 字
符。
例子
生成 BCC HI ASCII 字符“32”=2
#w_bcc_value 0025
UW w#16#F0 00F0 //隐藏半个低字节
= 0020
SLW 4 0200 //将半个字节移到左边
OW w#16#3000 3000 //请求 3000 Hex
= 3200
生成 BCC LO ASCII 字符“35”=5
#w_bcc_value 0025
UW w#16#F 000F //隐藏半个高字节将 BCC 写入数据块中编号为 20 的字中 (L DBW [#d_loop_akt] )。
FC 24 (CHK BCC) 的说明
FC24 的程序与 FC23 大致相同。*后,将计算所得的块校验与接收到数据的块校验相比较。
输出 #RETVAL 输出参数:
• 0: 块校验正确或
• -1: 块校验出错
9.6.4 “CP440 MASTER”程序实例
该程序实例描述一个主站和多个从站之间的通信。 可以在“CP440 SLAVE”程序实例中找到面
向各个从站的程序部分。
在 OB1 中,将通信模式设置为与一个伙伴通信。 “选择从站”(Select Slave) 程序部分中的分
支表即用于此目的。根据 MW 8 中的值,可以选择与 1 号从站(FC 1 调用)或 2 号从站(FC 2
调用)通信。 可以对程序进行修改,以包含更多从站。
在 FC 1 中,由从站调用一项发送作业(包含 FC 11 调用的“执行新发送作业”(execute new
Send-Job) 程序部分)和相关的接收作业(包含 FC 21 调用的“执行接收作业”(execute RecvJob) 程序部分)进行响应。 用于监视响应的计数器“START_TIMER”随发送作业启动。 如果从
站在设置的监视时间内没有响应,则时间结束后切换到下个从站。
9.6.5 “CP440 SLAVE”程序实例
在 FB 40 中,调用 RECV 以询问是否已经从主站接收到一项作业。 为此,在接收消息帧中,
将从站地址与其自身地址相比较。 一旦存在一项作业,则通过 SEND 调用将答复发送到主
站。
在 OB 1 中可以修改参数,以便用于其它从站。
CP 440 的技术规范
常规技术规范
下表包含 CP 440 的常规技术规范。
有关 SIMATIC S7-400 的其它通用技术规范,请参见《S7-400 自动化系统,模块技术规范》
参考手册、《通用技术规范》和《S7-400 自动化系统,安装》安装手册。
• 电气兼容性
• 运输和储存条件
• 机械和气候环境条件
• 关于绝缘测试、安全等级以及防护等级的信息
• 认证
技术规范
尺寸 W x H x D 29 x 290 x 210 mm
重量 0.3 kg
背板总线的电流消耗 5 V 时*大为 0.36 A,典型值为 5 V 时 0.33
A
功耗 *大 1.9 W,典型 1.7 W
显示元件 用于指示传输 (TXD)、接收 (RXD) 和接口故
障 (FAULT) 的 LED,用于内部故障 (INTF) 和
外部故障 (EXTF) 的组警报 LED。
诊断功能
• 指示内部和外部故障的指示灯
• 诊断信息转储
• 可以,2 个红色 LED
• 可以
提供的协议驱动程序 • ASCII 驱动程序
• 3964(R) 程序• 每个字符的位数(7 或 8)
• 启动/停止位的数量(1 或 2)
• 奇偶校验(无校验、奇校验、偶校
验);每个字符 7 位时,只能设置“奇
校验”或“偶校验”。
X27 (RS 422/485) 接口的技术规范
下表包含 CP 440-RS 422/485 的 X27 (RS 422/ 485) 接口的技术规范。
表格 10-1 X27 (RS 422/485) 接口的技术规范
技术规范
接口 RS 422 或 RS 485,15 针 sub-D 孔头连接器
RS 422 信号
RS 485 信号
TXD (A)、RXD (A)、TXD (B)、RXD (B)、GND
R/T (A)、R/T (B)、GND
所有信号均与 S7 内部电源(背板总线)和外部的 24 V DC 电源相
隔离
*远距离 1200 m
*大波特率 115200 bps964(R) 程序的技术规范
下表包含 3964(R) 程序的技术规范。
表格 10-2 3964(R) 程序的技术规范
带缺省值的 3964(R) 程序
*大消息帧长度 400 字节(请参见“功能块概述 (页 73)”一章)
参数 可分配参数:
• 带/不带块校验字符
• 优先级: 低/高
• 传输率: 300、600、1200、2400、4800、9600、19200、
38400、57600、76800、115200 bps
• 字符帧: 9、10、11 或 12 位
• 接收线路的初始状态: 无、R(A)5V/R(B)0V、R(A)0V/R(B)5V
• 缓存消息帧的数量: 1 到 10,使用整个缓冲区
3964(R) 程序,可分配参数
*大消息帧长度 400 字节(请参见“功能块概述 (页 73)”一章)
参数 可分配参数:
• 带/不带块校验字符
• 优先级:低/高
• 传输率: 300、600、1200、2400、4800、9600、19200、
38400、57600、76800、115200 bps
• 字符帧: 9、10、11 或 12 位
• 字符延迟时间:20 ms 到 65530 ms,以 10 ms 为增量
• 确认延迟时间:20 ms 到 65530 ms,以 10 ms 为增量
• 连接尝试次数: 1 到 255
• 传输尝试的次数: 1 到 255
• 接收线路的初始状态