起订量:
江西西门子S7-1200系列PLC代理商价格
免费会员
经销商西门子S7-1500代理商 上海卓曙自动化设备有限公司
大量现货
【卓曙科技】专业代理西门子电线电缆,PLC、接触器、软启动器、中间继电器、触摸屏,变频器,自动化产品等佺系列产品。一律为全新原包装,货真价实,质量有保证!
我公司经营西门子*现货PLC:S7-200,S7-300, S7-400 ,S7-1200 ,S7-1500,触摸屏,变频器,6FC,6SNS 120 V10 V60 V80 V20 V90 伺服数控备件:*电机(1LA7、1LG4、1LA9、1LE1),国产电机(1LG0,1LE0)大型电机(1LA8,1LA4,1PQ8)伺服电机(1PH,1PM,1FT,1FK,1FS)西门子保内*产品,质保一年。一年内因产品质量问题免费更换新产品,不收取任何费。
西门子一级代理商
江西西门子S7-1200系列PLC代理商价格
西门子S7-1200系列PLC的自由通信协议(用户定义协议)
自由通信口方式( Freeport Mode)是S7-200 PLC的一个很有特色的功能。S7-200 PLC的自由通信,即用户自定义通信协议(例如ASCⅡ协议),数据传输速率高为38.4kbit/s。
用户定义协议的应用,可以使可通信的范围大大增大,使控制系统配置更加灵活、方便。应用此种方式,使S7-200 CPU可以与任何通信协议公开,并使串口的外设智能设备和控制器进行通信。例如:打印机、条形码阅读器、调制一解调器、变频器和上位PC机等。当然,这种协议也可以用于两个CPU之间简单的数据交换。当外设具有RS-485接口时,可以通过双绞线进行连接,具有RS-232接口的外设也可以通过PC/PPI电缆连接起来进行自由通信。
与外设连接后,用户程序可以通过使用接收中断、发送中断、发送指令( XMT)和接收指令( RCV)对通信口操作。在自由通信口模式下,通信协议*由用户程序控制。S7 -200 PLC中的SMB30(口0)或SMB130(口1)允许自由口模式。
注意:只有在CPU处于RUN模式时才能允许自由口模式。当CPU处于STOP模式时,自由通信口停止,通信口转换成正常的PPI协操作。
PROFIBUS网络使用RS-485标准双绞线。它允许在一个网络段上多连接32台设备。协议定义了两类网络设备:主站和从站。主站可以对网络上另一个设备进行初始化申请,从站只响应来自主站的申请,它不初始化本身的申请。
PROFIBLTS-DP协议用于分布式I/O设备间的高速通信,网络通常有一个主站和几个I/O从站组成。主站初始化网络,并核对网络上的从站设备和配置是否匹配。主站连续地把输出数据写到从站,并从它们那里读取输入数据。当DP主站成功地组态一个从站时,它就拥有该从站。如果网络中有第二个主站,它只能很有限地访问个主站的从站。
S7-200 CPU可以通过EM277 PROFIBUS-DP扩展模块的方法支持DP网络协议。
注意:该协议支持一个网络上的127个地址(0-126),网络上多有32个主站。为了通信,网络上的所有设备必须具有不同的地址。
SIMATIC S7系列PLC的网络层次结构由4级组成,如图6-3所示。由下到上依次是:过程测量与控制级、过程监控级、丁厂与过程管理级和公司管理级。
这个4级结构构成了SIMATIC网络金字塔,它由3级总线复合而成。
底一级采用AS-i级总线:负责与现场传感器和执行器的通信,也可以是远程I/O总线,负责PLC与分布式I/O模块之间的通信。
中间一级采用PROFIBUS级总线:它采用令牌方式与主从轮询相结合的存取控制方式,可实现现场、控制和监控3级的通信。中间级也可采用主从轮询存取方式的主从式多点链路。
高一级采用工业以太网( Ethernet):使用通用协议,负责传送生产管理信息。
S7系列PLC中的S7-200 CPU支持多种通信协议。根据所使用的S7-200 CPU,网络可以支持一个或多个协议,包括通用协议和公司协议。协议包括:点到点( Point-toPoint)接口协议(PPI)、多点(Multi-Point)接口协议(MPI)、自由通信接口协议、PROFIBUSDP协议和USS协议。
这两种协议都是通过令牌环网实现,令牌环网遵守欧洲标准EN50170中的过程现场总线标准,是异步、基于字符的协议,带有起始位、8位数据、偶校验和一个停止位。通信帧由特殊的起始和结束字符、源地址和目的地址、帧长度和数据完整性检查等部分组成。只要数据传输速率相同,两个协议可以在一个网络中同时运行,而不相互影响。
PPI通信协议是西门子专门为S7 -200系列PLC开发的一个通信协议。可以通过两芯屏蔽双绞线进行联网。数据传输速率为9.6kbit/s、19.2kbit/s和187.5 kbit/s。S7 -200的编程口即为网络通信接口。
PPI是一个主/从协议。在这个协议中,主站(其他CPU、西门子编程器或TD200)给从站发送申请,从站响应。从站不初始化信息,只是当主站发出申请或查询时,从站才响应。网络上的所有S7-200 CPU都作为从站,如图6-4所示。
S7 -200可以通过内置接口连接到MPI网上。内置接口可以是CPU的通信口,也可以是EM227扩展通信模块。应用MPI组成的网络通信的波特率为19.2 kbit/s或187.5kbit/s。S7-200可以通过MPI网与S7-300/400 CPU进行通信。S7-200 CPU在MPI网中作为从站,S7-200之间不能通信。
注意:MPI协议可以是主/主协议或主/从协议,协议如何操作有赖于设备类型。如果设备是S7-300 CPU,那就建立主/主连接,因为所有的S7-300 CPU都是网站主站。如果设备是S7-200 CPU,那么就建立主/从连接,因为S7-200 CPU都是从站。
MPI总是在两个已经建立连接的设备之间相互通信,这种连接可能是两个设备之间的非固定连接,另一个主站不能干涉两个设备之间已经建立的连接,如为了应用,可以建立一个短时间暂时连接,也可以建立一个无限保持的连接或断开。
子程序在结构化程序设计中是一种方便有效的工具。与子程序相关的操作有:建立子程序、子程序的调用和返回等。
1.建立子程序
可用编程软件Edit菜单的Insert选项,选择Subroutine,以建立或插入一个新的子程序,同时在指令树窗口可以看到新建的子程序图标,默认的程序名是SBR_N,编号N从0开始按递增顺序生成,可以在图标上直接更改子程序的程序名。在指令树窗口双击子程序的图标就可对它进行编辑。
2.子程序调用
主程序可以用子程序调用指令来调用一个子程序。子程序执行结束必须返回主程序。
(1)子程序调用和返回指令
1)子程序调用指令( CALL):使能输入有效时,将程序控制权交给子程序SBR_N。调用子程序时可以带参数也可以不带参数。在LAD中用功能框的形式编程,如图5-47a所示,功能框名为子程序名SBR_N。
指令格式:CALL SBR_ N
例:CALL SBR_0
影响允许输出ENO正常工作的出错条件为SM4.3(运行时间),0008(子程序嵌套超界)。
2)子程序条件返回指令(CRET):使能输入有效时,结束子程序的执行,返回主程序中此子程序调用指令的下一条指令。LAD中以线圈的形式编程,如图5-47b所示,指令不带参数。
在STL中指令格式:CRET (条件返回)
例:LD I0.1
CRET (条件返回)
图5-47 子程序调用和返回指令
a)子程序调用b)子程序条件返回
(2)注意事项
1)在主程序中可以嵌套调用子程序(在子程序中还可调用子程序),多嵌套8层。在中断服务程序中,不能嵌套调用子程序。
2)当有一个子程序被调用时,系统会保存当前的逻辑堆栈,置栈顶值为1,堆栈的其他值为0,把控制交给被调用的子程序。当子程序完成之后,恢复逻辑堆栈,把控制权交还给调用程序。
3)因为累加器可在主程序和子程序之间传递,所以在子程序调用时,累加器的值既不保存也不恢复。
3.带参数调用子程序
子程序的调用过程如果存在数据的传递,则调用指令中应包含相应的参数。
(1)子程序参数子程序多可以传递16个参数。参数在子程序的局部变量表中加以定义。参数包含下列信息:变量名、变量类型和数据类型。
1)变量类型。变量类型是按变量对应数据的传递方向来划分的,可以是传人子程序(IN)类型、传人和传出子程序(IN/OUT)类型、传出子程序(OUT)类型、暂时(TEMP)类型4种类型。4种变量类型的参数在变量表中的位置必须按以下先后顺序。
IN类型:传人子程序参数。所接的参数可以是:直接寻址数据(如VB100)、间接寻址数据(如* AC1)、立即数(如16 #2344)、数据的地址值(如&VB106)。
IN/OUT类型:传人/传出子程序参数。调用时将参数位置的值传到子程序,返回时从子程序得到的结果被返回到同一地址。参数可采用直接和间接寻址,但立即数和地址编号不能作为参数。
OUT类型:传出子程序参数。将从子程序返回的结果送到的参数位置。输出参数可以采用直接和间接寻址,但不能是立即数或地址编号。
TEMP类型:暂时变量类型。在子程序内部暂时存储,不能用来与主程序传递参数的数据。
2)数据类型。局部变量表中还要对数据类型进行声明。数据类型可以是:“能流”、布尔型、字节型、字型双字型、整数型、双整型和实型。
“能流”:仅允许对位输入操作,是位逻辑运算的结果。在局部变量表中布尔能流输入处于所有类型的前面。
布尔型:布尔类型用于单独的位输入和输出。
字节、字和双字型:这3种类型分别声明一个1B、2B和4B的无符号输入或输出参数。
整数、双整数型:这2种类型分别声明一个2B或4B的有符号输入或输出参数。
实型:该类型声明一个IEEE标准的32位浮点参数。
(2)参数子程序调用的规则 常数参数必须声明数据类型。例如,把值为223344的元符号双字作为参数传递时,必须用DW#223344来指明。如果缺少常数参数的这一描述,常数可能会被当作别的类型使用。
输入或输出参数没有自动数据类型转换功能。例如,局部变量表中声明一个参数为实型,而在调用时使用一个双字,则子程序中的值就是双字。
参数在调用时必须按照一定的顺序排列,先是输人参数,然后是输入/输出参数,后是输出参数。
(3)变量表使用 在局部变量表中要加入一个参数,右击要加入的变量类型区可得到一个选择菜单,选择“插入”,然后选择“下一行”即可。局部变量表使用局部变量存储器。当在局部变量表中要加入一个参数时,系统自动给各参数分配局部变量存储空间。
使能流输出ENO为0的出错条件:SM4.3(运行时间),0008(子程序嵌套超界)。
STL程序中,参数子程序调用指令格式:CALL N,Var1,Var2,...,Varm(其中N为子程序号,Var1~Varm为参数)
例:CALL SBR0, I0.2,VB20, VD30
4.子程序和子程序返回指令程序举例
含调用指令的主程序如图5-48所示。
图5-48 主程序段
江西西门子S7-1200系列PLC代理商价格