开封西门子S7-200代理商
S7-200的功能确实不够绿色,定时器个数是有限的,但是可以通过写程序来实现定时功能,这样就不存在定时器被多次调用的问题了,定时器实际上就是读取CPU内部晶振的次数,可以用定时器中断或是SM0.5编写子程序。
S7-200是一款通用性很强大的产品,直接提供的功能有限,但是可以不断的思考,通过编程等方式获得产品更大的利用空间。
西门子S7-200PLC的自由口通讯具有非常强大的功能,熟练使用自由口通讯可以很方便的实现PLC与其他智能设备的数据交换。使用自由口通讯需要以下几个方面的编程设置:对SMB30进行设置端口选择,波特率选择,校验设置,对SMB87,89,90,94进行设置缓冲区等。通过ATCH指令进行中断设置,对中断状态进行判断。通过RCV指令进行接收数据。
通讯交换数据
交换数据是通过COM口进行的,所以一定要注意通讯口的地址使用和时间使用。另外数据缓冲区定义也非常重要,因为交换的数据会直接存储到这个缓冲区里。
与其他智能设备通讯
S7-200与其他智能设备通讯时,一般会采用相应的协议,一般来说一个网络会有相应的站地址,以及主站与从站,一定要区分好这方面的问题。
PID控制器的参数整定是控制系统设计的核心内容。它是根据被控过程的特性确定PID控制器的比例系数、积分时间和微分时间的大小。
PID控制器参数整定的方法很多,概括起来有两大类:一是理论计算整定法。它主要是依据系统的数学模型,经过理论计算确定控制器参数。二是工程整定方法,它主要依赖工程经验,直接在控制系统的试验中进行,且方法简单、易于掌握,在工程实际中被广泛采用。
PID控制器参数的工程整定方法,一般采用的是临界比例法。利用该方法进行PID控制器参数的整定步骤如下:(1)首先预选择一个足够短的采样周期让系统工作;(2)仅加入比例控制环节,直到系统对输入的阶跃响应出现临界振荡,记下这时的比例放大系数和临界振荡周期;(3)在一定的控制度下通过公式计算得到PID控制器的参数。
PID参数的设定:是靠经验及工艺的熟悉,参考测量值跟踪与设定值曲线,从而调整PID的大小。比例I/微分D=2,具体值可根据仪表定,再调整比例带P,P过头,到达稳定的时间长,P太短,会震荡,永远也打不到设定要求。
PID控制器参数的工程整定,各种调节系统中P.I.D参数经验数据以下可参照:
温度T:P=20~60%,T=180~600s,D=3-180s;
压力P:P=30~70%,T=24~180s;
液位L:P=20~80%,T=60~300s;
流量L:P=40~,T=6~60s。
这里介绍一种经验法,方法的基本程序是先根据运行经验,确定一组调节器参数,并将系统投入闭环运行,然后人为地加入阶跃扰动(如改变调节器的给定值),观察被调量或调节器输出的阶跃响应曲线。若认为控制质量不满意,则根据各整定参数对控制过程的影响改变调节器参数。这样反复试验,直到满意为止。
西门子S7-200PLC集成有高速计数功能,高速计数是PLC的一项非常重要的功能,在工业领域中测量转动速度与周期一般都是用脉冲式仪器,例如旋转编码器。这类仪器的频率远远大于PLC的采集频率,因此使用高速计数器显得尤为重要。S7-200高速计数功能的知识点主要分几个部分:一是输入地址,二是计数模式,按有无方向,有无复位,外部复位和软复位等进行分类。三是相应的控制特殊功能寄存器。来控制计数器的模式和预置值等。
高速计数器复位
高速计数的复位是使用计数器时非常重要的地方。由于外部器件例如编码器等,一般都会有累积误差,那么就需要定期的进行复位。另外编码器一些功能的实现也要求它具有复位功能。
高速计数器测量转速周期等
使用编码器和高速计数器,定时中断等,可以进行旋转体的速度周期等数据的测量,此功能在对电机测量方面有广泛的应用。
实数的格式
实数(浮点数)由32位单精度数表示,其格式按照ANSI/IEEE754-1985标准中所描述的形式。实数按照双字长度来存取。对于S7-200来说,浮点数**到小数点后第六位。因而当使用一个浮点数常数时,多可以到小数点后第六位。
实数运算的精度
在计算中涉及到非常大和非常小的数,则有可能导致计算结果不**。
字符串的格式
字符串指的是一系列字符,每个字符以字节的形式存储。字符串的*个字节定义了字符串的长度,也就是字符的个数。一个字符串的长度可以是0到254个字符,再加上长度字节,一个字符串的大长度为255个字节。而一个字符串常量的大长度为126字节。
布尔型数据(0或1)。
S7-200CPU不支持数据类型检测
例如:可以在加法指令中使用VW100中的值作为有符号整数,同时也可以在异或指令中将VW100中的数据当作无符号的二进制数。
S7-200提供各种变换指令,使用户能方便地进行数据制式及表达方式的变换。
西门子PLC对检修工艺及技术要求见如下,另外我司还举一个西门子PLC维修实例供大家参考:
(1)测量电压时,要用数字电压表或精度为1%的表测量
(2)电源机架,CPU主板都只能在主电源切断时取下;
(3)在RAM模块从CPU取下或插入CPU之前,要断开PC的电源,这样才能保证数据不混乱;
(4)在取下RAM模块之前,检查一下模块电池是否正常工作,如果电池故障灯亮时取下模块PAM内容将丢失;
(5)输入/输出板取下前也应先关掉总电源,但如果生产需要时I/0板也可在可编程控制器运行时取下,但CPU板上的QVZ(超时)灯亮;
(6)拨插模板时,要格外小心,轻拿轻放,并运离产生静电的物品;
(7)更换元件不得带电操作;
(8)检修后模板安装一定要安插到位
西门子PLC维修实例:
型号:S7-200(CPU226)
故障现象:错误指示灯闪
故障分析:根据故障问题通电PLC无法将开关拨到RUN状态,错误指示灯一直闪烁,断电复位后故障依旧,打开外壳测量电源供电电压都正常。说明错误灯闪跟程序和CPU有关系,先把PLC连接电脑读出程序正常。把PLC程序清空后上电错误灯不闪。一切正常。说明程序可能有问题。在检查程序发现程序有几处空白段,初步怀疑是程序问题。把程序段根据客户外部信号条件修改好程序输入PLC后故障解除。
故障修复:修改程序重新输入后故障解除。
一、 S7-200PLC内部RS485接口电路图
图中R1、R2是阻值为10欧的普通电阻,其作用是防止RS485信号D+和D-短路时产生过电流烧坏芯片,Z1、Z2是钳制电压为6V,大电流为10A的齐纳二极管,24V电源和5V电源共地未经隔离,当D+或D-线上有共模干扰电压灌入时,由桥式整流电路和Z1、Z2可将共模电压钳制在±6.7V,从而保护RS485芯片SN75176(RS485芯片的允许共模输入电压范围为:-7V~+12V)。该保护电路能承受共模干扰电压功率为60W,保护电路和芯片内部没有防静电措施
西门子PLC模块6ES7214-1AG40-0XB0
CPU 上的通信口(Port0)支持 Modbus RTU 从站通信协议S7-200 CPU上的通信口Port0可以支持Modbus RTU协议,成为Modbus RTU从站。此功能是通过S7-200的自由口通信模式实现,因此可以通过无线数据电台等慢速通信设备传输。
详情请参考《S7-200系统手册》之相关章节。
要实现Modbus RTU通信,需要STEP 7-Micro/WIN32 V3.2以上版本的编程软件,而且须安装STEP 7-Micro/WIN32 V3.2 Instruction Library(指令库)。Modbus RTU功能是通过指令库中预先编好的程序功能块实现的。
Modbus RTU从站指令库只支持CPU上的通信0口(Port0)。
2.2 编程基本步骤:检查Micro/WIN的软件版本,应当是STEP 7-Micro/WIN V3.2以上版本。
检查Micro/WIN的指令树中是否存在Modbus RTU从站指令库(图1),库中应当包括MBUS_INIT和MBUS_SLAVE两个子程序。如果没有,须安装Micro/WIN32 V3.2的Instruction Library(指令库)软件包;
图1. 指令树中的库指令
编程时使用SM0.1调用子程序MBUS_INIT进行初始化,使用SM0.0调用MBUS_SLAVE,并相应参数。关于参数的详细说明,可在子程序的局部变量表中找到;
图2. 调用Modbus RTU通信指令库
图中参数意义如下:
模式选择:启动/停止Modbus,1=启动;0=停止
从站地址:Modbus从站地址,取值1~247
波特率:可选1200,2400,4800,9600,19200,38400,57600,115200
奇偶校验:0=无校验;1=奇校验;2=偶校验
延时:附加字符间延时,缺省值为0
zui大I/Q位:参与通信的zui大I/O点数,S7-200的I/O映像区为128/128,缺省值为128
zui大AI字数:参与通信的zui大AI通道数,可为16或32
zui大保持寄存器区:参与通信的V存储区字(VW)
保持寄存器区起始地址:以&VBx(间接寻址方式)
初始化完成标志:成功初始化后置1
初始化错误代码
Modbus执行:通信中时置1,无 Modbus 通信活动时为 0。
错误代码:0=无错误
表 1. 从站错误代码
0 | 无错误 |
1 | 存储区范围错误 |
2 | 非法波特率或校验 |
3 | 非法从站地址 |
4 | Modbus 参数的非法值 |
5 | 保持寄存器与Modbus从站符号地址重复 |
6 | 接收校验错误 |
7 | 接收CRC错误 |
8 | 非能请求/不支持的功能 |
9 | 请求中有非法存储区地址 |
10 | 从站功能未使能 |
在CPU的V数据区中分配库指令数据区(Library Memory);
如有必要,使用主站软件测试。
注意:由子程序参数HoldStart和MaxHold的保持寄存器区,是在S7-200 CPU的V数据存储区中分配,此数据区不能和库指令数据区有任何重叠,否则在运行时会产生错误,不能正常通信。注意Modbus 中的保持寄存器区按"字"寻址,即MaxHold规定的是VW而不是VB的个数。
在图2的例子中,规定了 Modbus 保持寄存器区从 VB0 开始(HoldStart = VB0),并且保持寄存器为1000个字(MaxHold=1000),因保持寄存器以字(两个字节)为单位,实际上这个通信缓冲区占用了VB0~VB1999共2000个字节。因此分配库指令保留数据区时至少要从VB2000开始。当然保持区不一定要从VB0开始。
注意:你选用的CPU的V存储区大小!CPU型号不同V数据存储区大小不同。应根据需要选择Modbus保持寄存器区域的大小。
包含 Modbus RTU 从站指令库的项目编译、下载到CPU中后,在编程计算机(PG/PC)上运行一些 Modbus 测试软件可以检验S7-200的Modbus RTU通信是否正常,这对查找故障点很有用。测试软件通过计算机串口(RS-232)和PC/PPI电缆连接CPU。如果必要,须将PC/PPI电缆设置在自由口通信方式。
可到一些软件下载寻找类似软件,如 ModScan32 等。
2.3 Modbus RTU 从站地址与S7-200的地址对应Modbus地址总是以00001、30004之类的形式出现。S7-200内部的数据存储区与Modbus的0、1、3、4共4类地址的对应关系如下:
表2. Modbus地址对应表
00001 ~ 00128 | Q0.0 ~ Q15.7 |
10001 ~ 10128 | I0.0 ~ I15.7 |
30001 ~ 30032 | AIW0 ~ AIW62 |
40001 ~ 4xxxx | T ~ T + 2 * (xxxx -1) |
其中T为S7-200中的缓冲区起始地址,即 HoldStart。
如果已知S7-200中的V存储区地址,推算Modbus地址的公式如下:
Modbus地址 = 40000 + (T/2+1) ; T为偶数
2.4 Modbus RTU 从站指令库支持的功能码
Modbus RTU 从站指令库支持特定的 Modbus 功能。访问使用此指令库的主站必须遵循这个指令库的要求。
表 3. Modbus RTU 从站功能码
读取单个/多个线圈(离散量输出点)状态。 功能 1 返回任意个数输出点(Q)的 ON/OFF 状态。 |
读取单个/多个触点(离散量输入点)状态。 功能 2 返回任意个数输入点(I)的 ON/OFF 状态。 |
读取单个/多个保持寄存器。功能 3 返回 V 存储区的内容。在 Modbus 协议下保持寄存器都是"字"值,在一次请求中可以读取zui多 120 个字的数 |
- 郑州西门子S7-200代理商 2024-05-08
- 河南西门子S7-200代理商 2024-05-08
- 菏泽西门子S7-200代理商 2024-05-08
- 滨州西门子S7-200代理商 2024-05-08
- 聊城西门子S7-200代理商 2024-05-08
- 德州西门子S7-200代理商 2024-05-08
- 临沂西门子S7-200代理商 2024-05-08
- 莱芜西门子S7-200代理商 2024-05-08
- 日照西门子S7-200代理商 2024-05-08
- 泰安西门子S7-200代理商 2024-05-08