西门子PLC模块长春授权代理商SIEMENS原装 西门子PLC长春授权代理商,长春西门子PLC代理,西门子PLC代理
S7基本通信服务通过调用系统功能(SFC)和不需组态的S7连接进行数据交换,只能用于MPI网络。这些SFC可以访问所有S7和C7PLC中的数据,发送*多76B的数据给MPI网络中的S7PLC、HMI或PC。S7基本通信的SFC集成在CPU的操作系统中,并用SFC提供用户程序的软件接口。S7基本通信不能与其他子网中的站进行通信。
1. 不需要组态的连接
连接是指两个通信伙伴之间为了执行通信服务建立的逻辑分配,而不是指两个站之间物理媒体(例如电缆)的连接。连接分为需要组态的静态连接和不需要组态的动态连接。
PG(编程器)通信和S7基本通信不需要对连接组态,这种连接也称为动态连接。通过通信块SFC65~SFC68的参数,指定通信伙伴的地址、触发通信的信号,并确定完成数据传输后该连接是继续保持或终止。
在同一时刻,一个不需要组态的连接只能用于一个通信伙伴,与不同的通信伙伴的连接可以一个接一个地建立和终止。完成与某一通信伙伴的数据传输后,可以连接其他通信伙伴,因此可以相继访问的通信伙伴的数量不受连接资源的限制。但是CPU同时建立的连接总数不能超过可以同时使用的*大连接个数的限制。由于在通信过程中必须考虑连接的建立和断开,因此降低了网络的数据传输能力。
CPU进入STOP模式时,所有已建立的连接被终止。
2.用于S7基本通信的系统功能S7基本通信的系统功能(SFC)分为两类:
西门子PLC模块长春授权代理商SIEMENS原装 西门子PLC长春授权代理商,长春西门子PLC代理,西门子PLC代理
1)I_GET与I_PUT(见表14-2)用于CPU与同一个S7站的其他有通信功能的模块之间交换数据。SFC名称中的“I”表示内部。
2)X_SEND、X_RCV、X_GET与X_PUT用于S7CPU与其他具有通信功能的模块之间交换数据,通信伙伴在同一个MPI子网内,但不是在同一个站内。块的名称中的“X”表示外部。
用于S7基本通信的SFC可以在所有的S7-300/400CPU上运行,S7-300/400CPU还可以用X_GET和X_PUT来读写S7-200CPU中的数据。S7-200在S7基本通信中只能作服务器,因此不需要对S7-200组态和编程。
用于S7基本通信的SFC
3. S7基本通信SFC的公用参数的说明
西门子PLC型号含义说明
西门子PLC型号编制通常所指的是订货号。以6ES7221-0BA23-0xA0为例:
6-自动化系统系列;
S7-S7系列,S5-S5系列;
2-200系列,3-300系列,4-400系列;
2-DI/DO,1-CPU,3-AI/AO,4-通信模块,5-功能模块;
1-输入,2-输出,3-输入/输出(对于数字量);
OBA-入/输出电压等级、类型、点数等,具体要看产品说明;
23-版本;
0xA0-此数值代表不同功能的模块。
西门子PLC根据规模和性能的大小,主要有S7-200,S7-300和S7-400三种,下面就简单介绍一下该三种产品的一些特。
1、S7-200
(1)输入参数 REQ
REQ(请求激活)是电平触发的控制参数,REQ为1时触发任务。
(2)输入参数 REQ_ID
双击HWConfig的机架中的CPU,打开CPU的属性对话框。可以用“周期/时钟存储器”选项卡中的选择框选择调用OB85的方式(见图6-25)。
CPU的属性对话框的周期/时钟存储器选项卡西门子PLC模块长春授权代理商SIEMENS原装 西门子PLC长春授权代理商,长春西门子PLC代理,西门子PLC代理
S7-300CPU默认的选项是“无OB85调用”,在发生I/O访问错误时不调用OB85,也不会在诊断缓冲区中生成条目,一般采用默认的设置。
S7-400CPU默认的选项是“每单个访问时”,在满足条件时,每个扫描循环周期都要调用一次 OB85和在诊断缓冲区中生成一个条目,这样会增加扫描周期。建议选用“仅用于进入和离开的错误”,该选项只是在错误刚发生和刚消失时分别调用一次OB85。
在编写OB85的程序时,应根据OB85的启动信息,判定是哪个模块损坏或没有插入。OB85的局部变量OB_85_FLT_ID的错误代码的意义举例如下B#16#B1和B#16#B2分别表示更新过程映像输入、输出表时的I/O访问错误。可以用SFC49“LGC_GADR”查找有关模块所在的机架和槽位,以及模块的用户数据地址区中的偏移量。
与S7-200PLC一样,FC块的“临时变量”同样存储在局部变量数据堆栈(L)中,这一区域为全部程序块所公用,只可以用于FC块内部使用的中间运算结果寄存(这些中间运算结果不可以用于FC块外部);程序块执行完成后,局部变量数据堆栈内的数据将被其他块所需要的内容所替代。如果需要保存可以用于其他逻辑块的状态,应使用PLC的内部标志寄存器M或使用"数据块DB"。
在程序块FC中,有部分为PLC生产厂家所提供的、集成在S7PLC的CPU操作系统中的逻辑块,称为系统程序块(SystemFunction,SFC)。系统程序块SFC属于PLC内部操作系统的一部分,用户不需要编写,也不可以对其进行编辑,但可以根据需要直接调用。
3) 功能块(FB)。功能块(FunctionBlocks,FB块)是由用户编写的、需要专用数据块(Instance DataBlocks,称为"即时数据块"或"背景数据块",简称DI)支持的常用逻辑块。
FB与FC的作用基本相同,但FB中除可以使用"**地址"或"符号地址"进行编程外,在结构化编程时必须使用“程序变量”进行编程,因此,FB必须配套独立的数据存储区域——“即时数据块DI”。DI一方面可以为调用FB提供执行程序所需要的“程序变量”赋值与其他数据,另一方面,功能块FB也能通过DI给调用它的逻辑块返回所需要的数据。
与功能调用块FC一样,功能块FB中也有部分为PLC生产厂家所提供的、集成在S7CPU操作系统中的功能块,称为系统功能块(SystemFunctionBlocks,SFB)。系统功能块SFB同样属于PLC内部操作系统的一部分,用户不需要编写,也不可以对其进行编辑,但可以根据需要直接调用。
仅SFC65和SFC66使用REQ_ID来识别发送的数据。下列情况下,需要在接收端使用参数REQ_ID:
1)发送端的CPU用不同的REQ_ID调用几次SFC65,将数据发送到同一个通信伙伴。
2)不同的CPU调用SFC65,将数据发送到同一个通信伙伴。根据REQ_ID可以将接收到的数据保存到不同的存储区。
(3)输入参数CONT
输入参数CONT(Continue,继续)的值如果为1(TRUE),表示任务完成后继续保持与通信伙伴的连接。如果要在两个站之间周期性地交换数据,可以令CONT为1。建立的连接可以用SFC69“X_ABORT”来终止。
如果在调用SFC时令CONT=0,连接在数据传输完成后被终止,又可以使用该连接来与一个新的通信伙伴交换数据。这种方式可以确保只是在实际使用时才占用连接资源。