本司专业经营西门子PLC
6ES7-200/300/400/1200/6EP/6AV/6GK/ET200/6SE变频器/电缆/DP接头/触摸屏 /变频器/数控伺服备件全系列产品、拥有的技术团队,及专业的从业人员,长期为客户提供西门子PLC的销售,安装,调试服务
联系人 :李工(销售/维修经理)
24小时服务热线 :15901795805
E-mail :158311669@qq.com
欢迎您来电咨询高品质西门子驱动和自动化产品价 格
上海西皇电气设备有限公司。在西门子公司广大同仁和工控领域各界朋友的关怀下埋头发展,一路走来已成西门子合作伙伴中的佼佼者。总部设在上海,办公面积1500多平方米,员工150余人。公司组织架构完善合理,下辖河南、沈阳、济南分公司,以及天津、石家庄、唐山、太原、洛阳、西安、大连、长春、北京、合肥办事处。我公司已连续十七年荣获西门子(中国)有限公司代理商奖,在产品供应与技术服务方面拥有优势,深得广大客户和西门子公司的信赖
24小时服务热线 :15901795805
(10)中央处理单元CPU
CPU221 DC/DC/DC,6输入/4输出 6ES7211-0AA23-0xB0
CPU221 AC/DC/继电器,6输入/4输出, 6ES7211-0BA23-0xB0
CPU222 DC/DC/DC,8输入/6输出 6ES7212-1AB23-0xB0
CPU222 AC/DC/继电器,8输入/6输出 6ES7212-1BB23-0xB0
CPU224 DC/DC/DC,14输入/10输出 6ES7214-1AD23-0xB0
CPU224 AC/DC/继电器,14输入/10输出 6ES7214-1BD23-0xB0
CPU224XP 数字14入/10出,模拟2入/1出 6ES7214-2AD23-0xB0
CPU224XP继电器,14入/10出,模拟2入/1出 6ES7214-2BD23-0xB0
CPU226 DC/DC/DC,24输入/16输出 6ES7216-2AD23-0xB0
CPU226 AC/DC/继电器,24输入/16输出 6ES7216-2BD23-0xB0
(22)扩展模块EM
EM221数字量输入模块,8输入24VDC 6ES7221-1BF22-0xA0
EM221数字量输入模块,8输入AC120/230 6ES7221-1EF22-0xA0
EM221数字量输入模块,16输入24VDC 6ES7221-1BH22-0xA0
EM222数字量输出模块,8输出24VDC 6ES7222-1BF22-0xA0
EM222数字量输出模块,8输出AC120/230 6ES7222-1EF22-0xA0
EM222数字量输出模块,8输出继电器 6ES7222-1HF22-0xA0
EM222数字量输出模块,4输出24VDC 5A 6ES7222-1BD22-0xA0
EM222数字量输出模块,4输出继电器 10A 6ES7222-1HD22-0xA0
EM223数字量输入/输出模块,4输入/4输出24VDC 6ES7223-1BF22-0xA0
EM223数字量输入/输出模块,4输入24VDC/4输出继电器 6ES7223-1HF22-0xA0
EM223数字量输入/输出模块,8输入/8输出24VDC 6ES7223-1BH22-0xA0
EM223数字量输入/输出模块,8输入24VDC/8输出继电器 6ES7223-1PH22-0xA0
EM223数字量输入/输出模块,16输入/16输出24VDC 6ES7223-1BL22-0xA0
EM223数字量输入/输出模块,16输入24VDC/16输出继电器 6ES7223-1PL22-0xA0
EM231模拟量输入模块4输入×12位 6ES7231-0HC22-0xA0
EM232模拟量输出模块2输出×12位 6ES7232-0HB22-0xA0
EM235模拟量输入/输出模块4输入/1输出×12位 6ES7235-0KD22-0xA0
EM231 4路输入热电偶 6ES7231-7PD22-0xA0
EM231 2路输入热电阻 6ES7231-7PB22-0xA0
EM241 调制解调器模块 6ES7241-1AA22-0xA0
EM253定位模块 6ES7253-1AA22-0xA0
EM277 PROFIBUS-DP模块 6ES7277-0AA22-0xA0
CPU 313C-2 PtP 是一种紧凑型 CPU,用于对处理性能和响应速度要求很高的系统。使用集成数字量 I/O,可实现与过程的直接连接;使用第二个串口,可以与其它的外围设备相连接,例如打印机、条形码扫描器等。
集成技术工程的其他用途包括:
- 计数
- 频率测量
- 周期测量
- 脉宽调制
- PID 控制
Design
CPU 313C-2 PtP 安装有:
- 微处理器;
处理器处理每条二进制指令的时间可达 70 ns。 - 扩展存储器;
128 KB 高速 RAM (相当于大约 42 K 的指令)用于执行相关的程序部分,为用户程序提供充分的空间;
SIMATIC 微型存储卡(** 8 MB)作为程序的装载存储器,还允许将项目(包括符号和注释)存储在 CPU 中。 - 灵活的扩展能力;
多达 31 个模块,(4排结构) - MPI多点接口;
集成 MPI 接口**多可以同时建立与 S7-300/400 或编程器、PC、操作员面板的 8 路连接。在这些连接中,始终分别为 PG 和 OP 各保留一个连接。通过“全局数据通讯”,MPI可以用来建立**多16个CPU组成的简单网络 - 第二个串行接口 PtP;
该串口用于连接其它外设,诸如:扫描仪、称重系统等。 - 内置输入/输出;
16个数字量输入(均可用于报警处理)和16个数字量输出。
Functions
- 口令保护;
用户程序使用密码保护,可防止非法访问。 - 块加密;
函数 (FC) 和功能块 (FB) 可以通过 S7-Block Privacy,加密存储于 CPU 以保护专有技术。 - 诊断缓冲;
诊断缓冲区中可存储**后 500 条错误和中断事件,其中的 100 条事件可以长期存储。 - 免维护的数据后备;
如果发生断电,则可通过 CPU 将所有数据(**多达 64 KB)自动写入到 SIMATIC 微型存储卡(MMC 卡)上,且将在再次通电时保持不变。
可参数化的特性
可以使用 STEP 7 对 S7 的组态、属性以及CPU的响应进行参数设置:
- 概述;
定义名称、系统 ID 和位置 ID - MPI多点接口;
定义站地址 - 启动;
定义 CPU 的启动特性和监视时间 - 循环/时钟存储器;
定义**的扫循环描时间和负载设置时钟存储器地址 - 记忆性;
定义具有保持功能的存储位、计数器、定时器和数据块的数量 - 日时钟中断;
设定起始日期、起始时间和间隔周期 - 周期中断;
周期设定 - 系统诊断;
确定诊断消息的处理和范围 - 时钟;
设定AS内或MPI上的同步类型 - 防护等级;
定义程序和数据的访问权限 - 通讯;
保留连接源 - PtP 接口;
设置地址和基本参数ASKII 和 3964(R) 协议的参数设置 - 数字量输入/输出
设置地址、输入继电器和过程中断。 - 集成功能“计数器”
设定地址,以及“连续计数”、“单次计数”、“周期计数”、“频率测量”和“脉宽调制”模式下的参数分配。 - 集成“规则”功能
显示功能与信息功能
- 状态和故障指示;
发光二极管显示,例如,硬件、编程、定时器或I/O出错以及运行模式,如RUN、STOP、Startup。 - 测试功能;
可使用编程器显示程序执行过程中的信号状态,可以不通过用户程序而修改过程变量,以及输出堆栈内容。 - 信息功能;
通过编程器以文本形式为用户提供存储能力信息、CPU的运行模式,以及主存储器和装载存储器当前的使用情况、当前的循环时间和诊断缓冲区的内容。
集成的通讯功能
- 编程器/OP 通讯
- 全局数据通讯
- S7 基本通讯
- S7 通讯(只是服务器)
集成功能
- 计数器;
3个计数器(**高30kHz),具有独立方向的比较器,可直接连接到24V增量编码器。 - 3通道频率测量;
允许进行频率测量(高达 30 kHz),例如,测量轴速或吞吐量(每个测量周期内的件数)。 - 周期测量
3个通道。可测量计数信号的周期时间,计数频率**高为 1 KHz。 - 脉宽调制;
3个输出可直接连接控制阀、执行器、开关设备、加热装置等,例如采样频率为 2.5 kHz。 可设置周期长度并可在运行时修改占空比。 - 报警输入(所有数字量输入);
报警输入可以检测过程事件,并在**短的时间内触发响应。
Technical Specifications
订货号 |
6ES7313-6BG04-0AB0 |
|
---|---|---|
CPU313C-2 PTP,16DI/16DO,128 KB |
||
一般信息 |
||
工程组态方式 |
||
|
STEP 7 V5.5 + SP1,或 STEP 7 V5.3 + SP2 或更高版本(带 HSP 204) |
|
电源电压 |
||
额定值 (DC) |
||
|
√ |
|
功耗 |
||
功耗,典型值 |
9 W |
|
存储器 |
||
工作存储器 |
||
|
128 KB |
|
|
64 KB |
|
装载存储器 |
||
|
8 MB |
|
CPU 处理时间 |
||
位操作时,典型值 |
0.07 µs |
|
字操作时,典型值 |
0.15 µs |
|
定点数运算时,典型值 |
0.2 µs |
|
浮点数运算时,典型值 |
0.72 µs |
|
计数器、定时器及其保持性 |
||
S7 计数器 |
||
|
256 |
|
IEC 计数器 |
||
|
√ |
|
S7 定时器 |
||
|
256 |
|
IEC 定时器 |
||
|
√ |
|
数据区及其保持性 |
||
标志 |
||
|
256 字节 |
|
地址区 |
||
I/O 地址区 |
||
|
1,024 字节 |
|
|
1,024 字节 |
|
过程映像 |
||
|
1,024 字节 |
|
|
1,024 字节 |
|
日时钟 |
||
时钟 |
||
|
√ |
|
运行小时数计数器 |
||
|
1 |
|
数字量输入 |
||
集成通道 (DI) |
16 |
|
数字量输出 |
||
集成通道 (DO) |
16 |
|
模拟量输入 |
||
集成通道 (AI) |
0 |
|
模拟量输出 |
||
集成通道(模拟量输出) |
0 |
|
1.接口 |
||
接口类型 |
集成 RS 485 接口 |
|
物理接口 |
RS 485 |
|
功能 |
||
|
√ |
|
|
- |
|
|
- |
|
|
- |
|
2.接口 |
||
接口类型 |
内置 RS 422/485 接口 |
|
物理接口 |
RS 422/RS 485 (X.27) |
|
功能 |
||
|
- |
|
|
- |
|
|
- |
|
|
- |
|
|
- |
|
|
- |
|
通信功能 |
||
编程器/OP 通信 |
√ |
|
数据记录路由 |
- |
|
全局数据通信 |
||
|
√ |
|
S7 基本通信 |
||
|
√;服务器 |
|
S7 通信 |
||
|
√ |
|
S5 兼容通信 |
||
|
√;通过 CP 和可加载 FC |
|
连接数量 |
||
|
8 |
|
集成功能 |
||
计数器数量 |
3;参见《工艺功能》手册 |
|
**计数频率(计数器) |
30 kHz |
|
频率测量 |
√ |
|
频率计数量 |
3;**高 30 kHz(参见《工艺功能》手册) |
|
控制定位 |
- |
|
集成功能块(闭环控制) |
√;PID 控制器(参见《工艺功能》手册) |
|
PID 控制器 |
√ |
|
脉冲输出点数 |
3;高达 2.5 kHz 的脉宽调制(参见《工艺功能》手册) |
|
极限频率(脉冲) |
2.5 kHz |
|
环境条件 |
||
工作温度 |
||
|
0 °C |
|
|
60 °C |
|
组态 |
||
编程 |
||
编程语言 |
||
|
√ |
|
|
√ |
|
|
√ |
|
|
√ |
|
|
√ |
|
|
√ |
|
|
√ |
|
专有技术保护 |
||
|
√ |
|
|
√;带有 S7 块加密功能 |
|
外形尺寸 |
||
宽 |
80 mm |
|
高 |
125 mm |
|
深 |
130 mm |
|
重量 |
||
重量,约 |
500 g |
在S7-200编程中,子程序想必大家都用过,使用子程序可以更好地组织程序结构,便于阅读和调试,也可以缩短程序代码。但是使用子程序也有一些需要注意的地方,除了子程序在同一周期内被多次调用时,不能使用上升沿、下降沿、定时器和计数器之外,还有子程序中局部变量的特点,在编程多次调用带参数子程序时要特别注意。下面就是前些天热线上遇到的一个Case,非常有代表性,在这里跟大家分享。
E:您好,西门子技术支持。
C:您好,我想问下,200子程序是不是多次调用时会不好使?
E:不会啊,您是不是在子程序里使用了沿指令或者定时器?
C:没有啊,我就编了一句很简单的开关程序,开关闭合,线圈导通,然后主程序里调用了两次这个子程序,结果**个I点闭合了,两个Q点都导通了。
E:(心里活动:看来是和子程序的局部变量有关了,估计客户程序逻辑有问题)那请您描述一下您的子程序吧,我帮您看看。
于是客户描述了一下自己的程序,大致了解了之后告知客户我这边测试下,稍后回复。
客户的程序是这样的:
子程序:是个常见的自保持逻辑,接口参数如红框所示。
图. 01
主程序:调用了两次上面的子程序,实现I0.0和I0.1控制Q0.0的闭合和断开,I0.2和I0.3控制Q0.1的闭合和断开。
图. 02
那么在线测试下程序执行情况,发现果然如客户所描述的,I0.0为1后,Q0.0和Q0.1都为1了。见下图.03所示。而如果闭合I0.2,则Q0.0和Q0.1都断开。
图. 03
为什么会这样呢?首先我们先明确子程序局部变量的特点。局部变量的变量类型分为四种:IN,IN_OUT,OUT和TEMP,局部变量存储区是在子程序调用时开辟的,子程序调用完成,局部变量占用的存储空间释放。
我们来分析下客户的子程序。
在主程序**次调用子程序时,如果I0.0为1,I0.1为0,它们将自身值分别传给输入局部变量#AA和#BB,子程序中程序逻辑执行如下图.04所示。此时局部变量#CC值为1,子程序完成,#CC将值传送到输出参数Q0.0上,使其置1。根据局部变量的特点,子程序**次调用完成后,局部变量存储区释放。
图.04
那么当主程序第二次调用该子程序时,开辟临时存储空间,但是此时的存储空间与**次调用时开辟的不一定一致。可是,也有可能由于程序简单,仍然使用**次调用时占用的存储空间。如果这种情况发生了,那么**次调用时已经将#CC的L0.2置了1,而此值依旧存在,那么第二次调用时虽然输入参数I0.2和I0.3为0 ,但是#CC(L0.2)为1,由于客户的子程序逻辑有自保持部分,所以**后L0.2的逻辑结果仍然是1。子程序完成后,#CC将值传送到输出参数Q0.1上,使其置1。所以就会出现客户反映的那种问题。
那么该如何避免这种情况呢?
大家是否还记得刚刚介绍局部变量参数类型时除了IN, OUT类型外,还有一种类型叫IN_OUT,这种类型的参数是先读入,然后再写出,这里我们就可以利用它的特点解决上面的问题。
下面对子程序的参数进行修改,将原先的#CC变量类型改为IN_OUT。如下图所示:
图.05
主程序结构不变,如下所示,可以看到由于#CC的类型是IN-OUT,它在子程序块的接口位置也转到了左侧输入侧。
图.06
下面再次将I0.0置1,其他输入都为0,监控程序状态,如图.07所示,可以看到只有Q0.0为1,Q0.1状态为0。而如果将I0.1置1, Q0.0被复位,Q0.1还是0,这样就符合客户的控制要求了。
图.07
同样,如果只给I0.2置1,那么也只有Q0.1会亮,不会再影响Q0.0。
了解了IN_OUT类型变量的特点,就不难分析以上的结果。因为每次调用子程序时,局部变量#CC都会先去读取输入参数Q0.0或Q0.1的状态,所以即使两次调用子程序时,#CC变量使用的同一区域,该区域的值也会在开始被Q点的状态所修改,就不存在两次调用相互影响的情况了。
另外,如果在子程序一开始就添加一条指令,对局部变量#CC进行赋初值(如图.08),也可以避免临时变量区数值不定的问题,您可以尝试测试下。
图.08
所以,在编写200子程序时要特别注意局部变量的特点,一旦出现多次调用不正常的情况,就可以从局部变量的特点出发分析,看看是不是存在隐患。善加利用IN_OUT变量也许可以解决许多问题