辽源西门子S7-300代理
公司名称、上海庆惜自动化设备有限公司,良好的服务能够带来更多的顾客,如今社会卖的不单单只是产品,还有服务态度,采购者在我们产品质量平均的情况下更愿意选择好的服务公司! 我们以下是服务口号大全,用心做服务,倾听客户的心声,尊重顾客的选择,微笑待人,文明礼貌,热情周到,做人诚信,欢迎您的来电,我期待我们长期合作下去双方共赢,客户满意是我们努力的目标。
公司介绍
S7-300/400 PLC地址分配有两种形式,早期的S7-300 PLC采用的是“固定地址”分配方式,而目前则大部分采用“自动分配型”与“用户定义型”地址分配方式。
1.固定地址分配方式
固定地址型S7-300 PLC的默认开关量输入/输出与模拟量输入/输出地址的分配情况可参见图8-3.2。
2。地址分配实例
【例1】某配套固定地址型S7-300PLC的控制系统,采用CPU312模块,并选配1个32点输入模块、1个16点输入模块、2个16点输出模块、1个8点输出模块,并按照以上次序安装,其输入/输出地址的分配如下。
第1输入模块:地址I0.0~13.7,无空余地址;
第2输入模块:地址.7为空余地址;
第1输出模块:地址Q8.O—Q9.7,Q10.O~Q11.7为空余地址;
第2输出模块:地址Q12.O~Q13.7,Q14.O~Q15.7为空余地址;
第3输出模块:地址Q16.O~Q16.7,Q17.O~Q19.7为空余地址。
目前使用的大部分S7-300 PLC,已经可以采用自动分配型地址分配方式。但是,一般还只能按照大开关量输入/输出进行地址自动分配,当使用32点以下模块时,多余的地址仍然不可以使用(对于远程I/O单元,地址是连续的)。
【例2】对于上例同样的配置与安装,当采用自动分配型地址时,其输入/输出地址的分配如下。
第1输入模块:地址I0.0~13.7;无空余地址;
第2输入模块:地址.7为空余地址;
第1输出模块:.地址QO.O~Q1.7,Q2.O~Q3.7为空余地址;
第2输出模块:地址Q4.O~Q5.7,Q6.O~Q7.7为空余地址;
第3输出模块:地址Q8.O~Q9.7,Q10.O~Q11.7为空余地址。
对于S7-300 PLC的CPU新产品(如CPU315-2DP、CPU317等),可以采用用户定义型地址分配方式。这种情况下,只要地址不重复,每一安装模块的地址均可以由用户定义,因此,一般不存在多余的地址。
1、可以在软件中进行自动整定;
2、自动整定的pid参数可能对于系统来说不是好的,就需要手动凭经验来进行整定。p参数过小,达到动态平衡的时间就会太长;p参数过大,就容易产生调。
pid功能块在梯形图(程序)中应当注意的问题:
1、好采用pid向导生成pid功能块;
2、我要说一个简单的也是容易被人忽视的问题,那就是:pid功能块的使能控制只能采用sm0.0或任何1个存储器的常开触点并联该存储器的常闭触点这样的永不断开的触点!
笔者在以前的一个工程调试中就遇到这样的问题:pid功能块有时间动作正常,有时间动作不正常,而且不正常时发现pid功能块都没问题(pid参数正确、使能正确),就是没有输出。后查了好久,突然意识到可能是使能的问题——我在使能端串联了启动/停止控制的保持,我把它改为sm0.0以后,一切正常!
同时也明白了pid功能块有时间动作正常,有时间动作不正常的原因:有时在灌入程序后保持继电器处于动作的状态才不会出现问题,一旦停止了设备就会出现问题——pid功能块使能一旦断开,工作就不会正常!
把这个给大家说说,以免出现同样失误。
下面是pid控制器参数整定的一般方法:
pid控制器的参数整定是控制系统设计的核心内容。它是根据被控过程的特性确定pid控制器的比例系数、积分时间和微分时间的大小。pid控制器参数整定的方法很多,概括起来有两大类:一是理论计算整定法。它主要是依据系统的数学模型,经过理论计算确定控制器参数。这种方法所得到的计算数据未必可以直接用,还必须通过工程实际进行调整和修改。二是工程整定方法,它主要依赖工程经验,直接在控制系统的试验中进行,且方法简单、易于掌握,在工程实际中被广泛采用。pid控制器参数的工程整定方法,主要有临界比例法、反应曲线法和衰减法。三种方法各有其特点,其共同点都是通过试验,然后按照工程经验公式对控制器参数进行整定。但无论采用哪一种方法所得到的控制器参数,都需要在实际运行中进行后调整与完善。现在一般采用的是临界比例法。利用该方法进行 pid控制器参数的整定步骤如下:(1)首先预选择一个足够短的采样周期让系统工作;(2)仅加入比例控制环节,直到系统对输入的阶跃响应出现临界振荡,记下这时的比例放大系数和临界振荡周期;(3)在一定的控制度下通过公式计算得到pid控制器的参数。
pid参数的设定:是靠经验及工艺的熟悉,参考测量值跟踪与设定值曲线,从而调整pid的大小。
比例i/微分d=2,具体值可根据仪表定,再调整比例带p,p过头,到达稳定的时间长,p太短,会震荡,永远也打不到设定要求。

有些辅助继电器具有特殊功能或存储系统的状态变量、有关的控制参数和信息,我们称为特殊标志继电器。用户可以通过特殊标志来沟通plc与被控对象之间的信 息,如可以读取程序运行过程中的设备状态和运算结果信息,利用这些信息用程序实现一定的控制动作。用户也可通过直接设置某些特殊标志继电器位来使设备实现某种功能。
特殊标志继电器用“sm”表示,特殊标志继电器区根据功能和性质不同具有位、字节、字和双字操作方式。其中smb0、smb1为系统状态字,只能读取其中的状态数据,不能改写,可以位寻址。系统状态字中部分常用的标志位说明如下:
sm0.0:始终接通;
sm0.1:首次扫描为1,以后为0,常用来对程序进行初始化;
sm0.2:当机器执行数学运算的结果为负时,该位被置1;
sm0.3:开机后进入run方式,该位被置1一个扫描周期;
sm0.4:该位提供一个周期为1分钟的时钟脉冲,30秒为1,30秒为0;
sm0.5:该位提供一个周期为1秒钟的时钟脉冲,0.5秒为1,0.5秒为0;
sm0.6:该位为扫描时钟脉冲,本次扫描为1,下次扫描为0;
sm1.0:当执行某些指令,其结果为0时,将改位置1;
sm1.1:当执行某些指令,其结果溢出或为非法数值时,将改位置1;
sm1.2:当执行数学运算指令,其结果为负数时,将改位置1;
sm1.3:试图除以0时,将改位置1;
s7-200中sm0.0的用法:
1、sm0.0在程序运行时始终为on。
2、sm0.0是一个无条件的常闭触点,用来启动无条件运行的指令。
只要上电,sm0.0必然是“1”。因此程序中那些不受任何条件限制,必须要执行的指令就用它作为触发触点。
3、问:程序有时要在指令前加sm0.0,为什么不直接连在母线上,不是一样吗?
佳答案:
因为,s7-200的指令是不能直接连在“母线”上的,这不符合语法要求。
sm0.0是不可控的触点,适用于无条件触发的场合,并非每个指令都需要sm0.0。在其它场合,要用可控制的触点来触发指令,如i0.0、m0.0或各种比较指令等等。如果没有可控触点可用,就只能用sm0.0。
其他答案:
a、s7200编程中有规定,在输出类指令前必须有触点指令,有的时候输出指令不需要条件直接输出为1,但为了满足这样的编程约定就串连常为1的sm0.0在前面。
b、不同plc厂家都有自己语法规定,siemens s7-200梯形图就这样要求的,不能母线直接连输出指令(或子程序调用)。
c、一个程序用不用sm0.0在于多方面的需要,如果你不需要也能完成控制要求那不用当然好了。不过对于一些指令你还是非用它不可呢!另外在调试程序时它还是你的好帮手呢!
基本指令
一 关于状态字(sm)
01 smb0包括8个状态位(sm0.0/sm0.1/sm0.2/sm0.3/sm0.4/sm0.5/sm0.6/sm0.7)
02 smb1 包含了各种潜在的错误提示,可在执行某些指令或执行出错时由系统自动对相应进行置位或复位.
03 smb2 在自由接口通信时,自由接口接收字符的缓冲区.
04 smb3 在自由接口通信时,发现接收到的字符中有奇偶效验错误时,可将sm3.0置位.
05 smb4 标志中断队列是否溢出或通信接口使用状态.
06 smb5 标志i/o系统错误.
07 smb6 cpu模块识别(id)寄存器.
08 smb7 系统保留
09 smb8-smb21 i/o模块识别和错误寄存器,按字节对形式(相邻两个字节)存储扩展模块0-6的模块类型、i/o类型、i/o点数和测得的各模块i/o错误.
10 smb22-smb26 记录系统扫描时间.
11 smb28-smb29 存储cpu模块自带的模拟电位器所对应的数字量.
12 smb30-smb130 smb30为自由接口通信时,自由接口0的通信方式控制字节;smb130为自由接口通信时,自由接口1的通信方式控制字节;两字节可读可写。
13 smb31-smb32 存储器(eeprom)写控制.
14 smb34-smb35 用于存储定时中断的时间间隔.
15 smb36-smb65 高速计数器hsc0、hsc1、hsc2的监视及控制寄存器.
16 smb66-smb85 高速脉冲输出(pto/pwm)的监视及控制寄存器.
17 smb86-smb94 自由接口通信时,接口0或接口1接收信息状态寄存器.
18 smb186-smb194 自由接口通信时,接口0或接口1接收信息状态寄存器.
19 smb98-smb99 标志扩展模块总线错误号.
20 smb131-smb165 高速计数器hsc3、hsc4、hsc5的监视及控制寄存器.
21 smb166-smb194 高速脉冲输出(pto)包络定义表.
22 smb200-smb299 预留给智能扩展模块,保存其状态信息.

1.法则:
对于系统的故障检测法:一摸、二看、三闻、四听、五按迹寻踪法、六替换法。
一摸,查cpu的温度高不高,cpu正常运行温度不过60℃,因手能接受的温度为人体温度37~38℃,手感为宜;二看,看各板上的各模块指示灯是否正常;三闻,闻有没有异味,元件或线缆有无烧毁;四听,听有无异动,镙丝钉松动、正常工作与否,听现场工作人员的反映情况;五出现故障根据图纸和工艺流程来寻找故障所在地;六对不确定的部位进行部件替换法来确定故障。
2.具体步骤:
当plc的软件不正常时,主要看cpu的run状态是否正常,不正常则进行cpu清除后重新下载控制程序。
当plc硬件不正常时则要按以下顺序进行检查工作:
1、查看plc是否有电:有电则测量电压是否在+24v的±5%范围之内,有电且正常,则进行下一步;有电不正常则进行电源模块的输出端与输入端进行检测,若输出端不正常而输入端正常,则更换模块;若输入端不正常,则进行输入端的逆流法则进行相应检查,如进行24v交直流变压器的输入电压端的交流电压220v的±10%检查,正常,则更换直流24v变压器。无电则按迹寻踪,借助原理图+现场布置图+接线图纸,检查给电源模块供电的各种电器器件的输出端的接线是否正确,不正确,重新接线;正确用则检查的进线端与出线端有无正常供电,无正常供电,查明是外界还是自身原因,若为外界则是电压不足还是根本无电压,或负载过重,又或严重过流等等的分析,一直到将事故排除正常供电为止;若为本身器件坏则更换之。
2、了解过cpu工作模式及优先级:高优先级有stop、holdup、startup(warmrestart、coldrestart);低优先级有:run、run-p(pg/pc的在线读写程序)。查看cpu是在run模式,或是在stop模式,又或是run模式的闪烁状态和stop模式兼有的保持模式或叫调试模式。如果仅是run模式则cpu和各板为正常进行第3步。如果是保持模式出现,可能是运行过程中用户程序出现断点而处于调试程序状态,或在启动模式下断点出现,对此情况重新调试好程序,再次将控制程序下载到cpu中方可。
如果是stop模式,目测引起stop的原因分析:a、无电,分析无电原因,是因为供电部门出问题,还是异常掉电(因有有1k3ah的ups保证很少发生异常掉情况),通常情况下为检修拉电了,待检修结束后进行人工送电。再利用plc的在线功能将cpu的工作模式从stop转换为run;b、cpu坏,更换新的好的同种类型同版本的cpu;c、有板子坏了,有序进行板子的更换。对于硬件更换时要注意使用与原来的器件相同的产品同型号、同版本来进行,否则会造成实际的plc配置与相应编程软件中硬件配置数据库中硬件配置不同而无法进行用户控制程序的正常循环执行。
3、进行各个主板和扩展板上的通迅电缆检查和各模块各led灯的检察,看是否有坏模块出现fault灯亮,若有则该模块不正常。对于数字量输出模块上各点其实与现实生活上的电灯开关是一样的功能且为常开点,所以在线检修该模块的任一点时,只要在无接线时且该地址在控制程序不给输出信号时来检测其通不通就可以了,若通,则该点不正常,不通则正常;不正常时要进行硬件连接线的另选点重接工作;另外我们也可以用新模块进行更换后,对替换下来的模块的点进行测量通断状态,通,则该点坏,不通该点为好。对于数字量输入模块的点当于导通的线圈,为常闭状态,它可以在线或下线检测,用表检测若是坏点的话则是不通的状态,则换点重接线;好点则为通状态。只要对硬件接线重新换点重接后均要用相应编程软件对控制软件进行0x或1x地址替换工作。对于模拟量输入模块是与数字量输入模块相同,每个通道都相当于一根导线形式,也就是说相当于常闭点,所以检测通道好坏的方法为用表的测通断功能来检测,当通状态时为好,断状态时为坏通道;模拟量输出模块的检测方法与数字量输出模块相同。若坏通道则对硬件接线需要更换通道与并同时替换控制程序中的相应3x或4x地址;另外对于模拟量模块则要进行量程块的选择的检查,保险丝是否断开的检查等工作。软件配置是否正常,一般为电压1~5v或电流4~20ma,这根据所用的与智能转换器类型来选择。进行过硬件点或通道更换工作后条件允许的话均要stop
plc的cpu,再重新下载程序,若条件不允许则直接用更新变化来下载变化的程序而不停cpu。对于不用的输入模块的好通道/好点与后一个已用的一好通道/好点进行串联或在软件中进行特别设置。
4、对大量输出模块的板子上的电源模块在正常生产状态时是不能断电的,因为此时断电的话,将使继电器柜中的常开继电器变为常开状态,容易发生错误,因此要对此类的输出模块进行检测时,要与现场操作人员进行联系,进行该部分相关设备进行手动操作后,再撤去数字量输出模块的供电线后对模块测点工作。
5、各类开关类的检测工作:如继电器、接近开关、空气开关等器件的检测工作,是根据开关的类型是常闭型还是常开型来区分,用表来检测其通与不通的状态,其状态与好器件状态相反,则该器件坏了,更换之。对于电路大部情况利用常开型,它们是用来人制或自动控制电流的接通与断开的;对于常闭型主要用在保护电路中。借此可以知道开关类和保护类器件的正常状态为如何而正常识别器件的好坏。#p#分页标题#e#
6、通迅模块的检测则是利用简单的用好的新的通迅模块进替换来识别板上的正在使用的模块是否正常。
7、导线的测量方法:导线也是通过检测通断方法进行的。可以利用已知通的导线来检测不知是否好坏的导线,方法是将好的导线与未知导线连接起来后测通断状态。
8、电阻检测:带电状态时检测电压,不带电时检测相应的电阻。
通过以检测可以排除工作中的大部分故障,另外由于本工作涉及到交流单相电220v与直流电24v的交叉作业,工作时要注意积累安全用电知识与常识,以及在工作时的安全防范措施和煤气安全规程,以确保安全作业。
西门子s7-200支持多种通讯模式,如点点接口(ppi)、多点接口(mpi)、rrofibus dp等。ppi等通讯协议主要用于西门子系列产品之间的通讯以及对编程。在自由口模式下,可由用户控制串行通讯接口,实现用户自定义的通讯协议。用户可以用梯形图程序调用接收中断、发送中断、发送指令(xmt)、接受指令(rcv)来控制通信操作。在自由口模式下,通信协议完全由梯形图程序控制。
s7-200cpu上的通信口是与rs-485兼容的9针d型连接器,plc还提供了实现 rs-485与 pc机上rs-232c相连接的pc/ppi电缆,利用它可以方便地实现s7-200系列plc与pc之间的硬件连接。
s7-200的编程软件为step7-micro/win32,该软件有stl、fbd和ladder三种编程模式,有simatic指令和iec131-3指令两种指令。本文所给出的范例是使用simatic指令的stl编程。
s7-200 plc端的通讯程序实现
plc程序分为主程序和中断程序。主程序完成初始化通信口、开中断、判断、发送数据等功能,中断程序完成接收和发送数据的功能。接收指令(rcv)启动或终止接收信息功能,必须为接收操作开始和结束条件。发送指令(xmt)在自由口模式下依靠通讯口发送数据。
控制字的选取
反映cpu工作方式的模式开关当前位置的特殊存储器位为sm0.7,它控制自由端口模式的进入。当sm0.7为0时,模式开关处于trem位置;当sm0.7为1时模式开关处于run位置。而只有当模式开关位于run位置时,才允许进行自由口通讯。smb30是自由口模式控制字节,用来设定校验方式、通讯协议、波特率等通讯参数(其它控制字的设定参阅有关书籍)。
程序的一些简单介绍
network1
ld sm0.1 // 次扫描
movb 16#09,smb30
//自由口通讯模式:9600波特率,无奇偶校验,8个数据位
movb 16#7c,smb87 //接收信息状态字节
movb 16#53,smb88
//设置信息的开始字符“s”
movb 16#45,smb89
//设置信息的结束字符“e”
movw +5,smw90
//设定空闲行的时间间隔(ms)
movw +179,smw92
//字符间/信息间定时器时值(ms)
movb 60,smb94 //接收字符的个数
network2
ld sm0.1 movb 16#53,vb2499
//设置接收和发送缓冲区的首地址
atch 发送完中断,9
//把发送完成中断和发送完成中断子程序连接起来
atch 接收完中断,23
//把接收完成中断和接收完成中断子程序连接起来
eni //允许中断
iemens编程器S7-200系列用在中小型设备上的自动系统的控制单元,适用于各行各业,各种场合中的检测,监测及控制。
在这里,和大家一起来讨论S7-200几个使用方面的情况。
1.步进,伺服脉冲定位控制。
在设备的控制系统中,有关运动控制是很重要的,下面我们来看一看西门子S7-200系列PLC怎样来实现这 个功能。
首先,确定使用哪个端口来发脉冲,如采用Q0.0发脉冲,则它的控制字为SMB67,脉冲同期为SMW68,脉 冲个数存放在SMD72中,
下面是控制字节的说明:
Q0.0 Q0.1 控制字节说明
SM67.0 SM77.0 PTO/PWM更新周期值 0=不更新,1=更新周期值
SM67.1 SM77.1 PWM更新脉冲宽度值 0=不更新,1=脉冲宽度值
SM67.2 SM77.2 PTO更新脉冲数 0=不更新,1=更新脉冲数
SM67.3 SM77.3 PTO/PWM时间基准选择 0=1微秒值,1=1毫秒值
SM67.4 SM77.4 PWM更新方法 0=异步更新,1=同步更新
SM67.5 SM77.5 PTO操作 0=单段操作,1=多段操作
SM67.6 SM77.6 PTO/PWM模式选择 0=选择PTO,1=选择PWM
SM67.7 SM77.7 PTO/PWM允许 0=禁止PTO/PWM,1=允许
这样根据以上表格,我们得出Q0.0控制字:SMB67为:10000101
采用PTO输出,微妙级周期,发脉冲的周期(也就是频率)与脉冲个数都要重新输入。10000101转化为 16进制 为85,有了控制字以后,我们来写这一段程序:

根据上面这段程序,我们知道了控制字的使用,同时也知道步进电机的脉冲周期与冲个数的存放位置(对 Q0.0来说是SMW68与SMD72)。当然,VW100与VD102内的数据不同的话,步进电机的转速和转动圈数就不一样。
还有一点需要说明得是:M0.0导通---PLC捕捉到上升沿发动脉冲输出后,想停止的话,只须改变端口脉冲的 控制字,再启动PLS即可,程序如下:

2.高速计数功能。
西门子S7-200系列PLC具有高速计数的功能;举一例子来谈谈高速计数的用途,我们采用普通电机来带动丝杆转动,我们想控制转动距离,怎么来解决这个问题?那么我们可在电机另一头与一编码器联接,电机转一圈,编码器也随之转一圈,同时根据规格发出不同的脉冲数。当然,这些脉冲数的频率比较高,PLC不能用普通的上升沿计数来取得这些脉冲,只能通过高速计数功能了。
启动高速计数功能,也要具有控制字
HSCO HSC1 描述
SM37.0 SM47.0 复位有效电平控制位 0=高电平有效, 1=低电平有效
SM37.1 SM47.1 启动有效电平控制位于 0=高电平有效, 1=低电平有效
SM37.2 SM47.2 正交计数器速率选择 0=4X计数率, 1=1X计数率
SM37.3 SM47.3 计数方向控制位 0=减计数, 1=正计数
SM37.4 SM47.4 向HSC中写入计数方向 0=不更新, 1=更新计数方向
SM37.5 SM47.5 向HSC中写入预置值 0=不更新, 1=更新预置值
SM37.6 SM47.6 向HSC中写入当前值 0=不更新, 1=更新当前值
SM37.7 SM47.7 HSC允许 0=禁止HSC, 1=允许HSC
参照上面的表格,我们选择HSC1高速计数器,控制字为SMB47,现在我们启动高速计数器HSC1,选择为增计数,更新计数方向,重新设置值,更新当前值:这样的话,HSC1的启动控制高为:11111000转化为16进制为 F8,将启动计数器时当前值存放在SMD48中,将预存置放在SMD52中,具体的程序 如下:

同样的,如果计数器在工作状态下想停止计数器,也必须改变它的控制字后,启动HSC具体程序 如下:

3. PID回路控制功能。
西门子S7-200系列PLC的PID控制相当的简单,可以通过micro/win软件的一个向导程序,按照提示,一步一步执行您所要求PID控制的属性即可,在这里谈一谈PID这三个参数的具体意义:P为增益项,P越大,响应起就快,在调节流量阀时:设定流量为50%,当目前流量接近50%,刚过,如果P值很大的话,那么流量阀会马上会关闭,而不会控制在某一区域。这就是增益项太大引起。在调节的过程中应该先将P值调节比较适当了,再去调节I值,它为积分项,是在控制器回路中控制对当前值与设定值相等的偏差范围。D为微分项,主要作用是避免给定值的微分作用而引起的跳变。
在现场的PID参数的调整过程中,针对西门子S7-200型PLC我的建议是在不同的控制阶段,采用不同的PID参数组,具体而言就是当目前距离设定值差距较大时,采用P值较大的一套PID参数,如果当前值快接近设定值范围时,采用P值较小的一套PID参数。