详细介绍
西门子PLC通信模块代理商现货
FB--功能块,带背景数据块
FC--功能,相当于函数
他们之间的主要区别是:FC使用的是共享数据块,FB使用的是背景数据块举个例子,如果您要对3个参数相同的电机进行控制,那么只需要使用FB编程外加3个背景数据块就可以了,但是,如果您使用FC,那么您需要不断的修改共享数据块,否则会导致数据丢失。FB确保了3个电机的参数互不干扰。
FB,FC本质都是一样的,都相当于子程序,可以被其他程序调用(也可以调用其他子程序)。他们的大区别是,FB与DB配合使用,DB中保存着FB使用的数据,即使FB退出后也会一直保留。FC就没有一个的数据块来存放数据,只在运行期间会被分配一个临时的数据区。在实际编程中,是使用FB还是FC,要看实际的需要决定。FB的好处楼上以讲得很好了。
FB与FC没有太大的差别,FB带有背景数据块,而FC没有。所以FB带上不同的数据块,就可以带上不同的参数值。这样就可以用同一FB和不同的背景数据块,被多个对象调用
FC和FB像C中的函数,只不过FB可以生成静态变量,在下次函数调用时数据可以保留,而FC的变量只在调用期内有效,下次调用又重新更换。
S7-300plc中的FB和FC的分别?FB带有自己的背景DB而FC没有自己的背景DB, 用FC 和FB 有什么分别呢,他们都能实现控制功能,到底该用FB还是该用FC,什么时候用FB什么时候用FC?
FB与FC没有太大的差别,FB带有背景数据块,而FC没有。所以FB带上不同的数据块,就可以带上不同的参数值。这样就可以用同一FB和不同的背景数据块,被多个对象调用。
FC和FB像C中的函数,只不过FB可以生成静态变量,在下次函数调用时数据可以保留,而FC的变量只在调用期内有效,下次调用又重新更换。每次调用FC的I/O区域必须要自己每次手动输入,而FB就不要,省去不少麻烦,如果在上位机控制直接输入DB控制地址就可以。
如果我们设置一组新的参数,将SS_Speed由10Hz设置为11Hz(持续时于目标速度,加速曲线还能够正常保持,系统也不会提示错误。
同样如果参数合理,PLC发送的第三个、第四个。。。、第n个脉冲,继续根据以上算法计算脉冲频率,直到发送的第n个脉冲速度近似达到设定的目标速度,保持加速曲线。
根据以上的数学计算,我们可以看到在设置低速度和速度值的时候,一定注意检查设置值的合理性,否则会造成上述的错误而无法完成PTO设置。
1、引言
可编程控制器以其高可靠性,配置灵活和完善功能,工业控制系统中到越来越广泛应用。但操作员所需要报表打印、趋势图形显示、工况查寻、参数线修改等功能,PLC却不能直接方便提供。通常采用计算机PC与PLC组成一个完整监控系统。本文以台安TP02系列PLC为例,讨论用Visual Basic(VB)实现PLC与上位机通讯。
2、VB通讯控件中使用
可编程控制器PLC与上位机PC之间通信,下位机为PLC,基于其可靠性*,主要承担控制功能,而上位PC机主要承担监察管理功能,兼备部分控制功能,如发出运行,停止命令。VB语言是基于WINDOWS操作系统功能强、易学易用、主面向学习对象程序设计语言。VB带有专门管理串行通讯MSComm控件,只需设置几个主要参数就可以实现PLC与PC串行通讯。要完成通信必须设置MSComm相关属性值:
(1)CommPort:设置或传回通信连接端口代号
(2)Settings:设置初始化参数。以字符串形式设置或传回连接速度、奇偶校验、数据位、停止位等4个参数
(3)PortOpen:设置或传回通信连接端口状态
(4)Input:从输入寄存器传 回并移除字符
(5)Output:将一个字符串写入输出寄存器
(6)InputLen:由串行端口读入字符串长度
(7)InBufferCount:传回接收寄存器中字符数
3、软硬件之间:
台安TP02与上位机PC通信时,实现两者通信需要配备通信线。
4、通信程序实现
4.1 通信初始化程序
首先,窗体开始设计之前,添加MSComm控件。
西门子PLC通信模块代理商现货则只要FB10的背景数据块选择为多重背景数据块就可以了,FB1和FB2不需要建立背景数据块,其接口参数都保存在FB10的多重背景数据块中。建立多重背景数据块的方法是:在建立数据块只要在数据类型选项中选择“实例的DB”就可以了,见下例。
下面通过一例简单介绍一下多重背景数据块使用的一些注意事项和方法。
例如,PLC控制两台电机,且控制两台电机的接口参数均相同。一般的作法,我们可以编写功能块FB1控制两台电机,当控制不同的电机时,分别使用不同的背景数据块就可以控制不同的电机了(如台电机的控制参数保存在DB1中,第二台电机的控制参数保存在DB2中,我们可以在控制台电机调用FB1时以DB1为背景数据就可以了,第二台同样以DB2为背景数据块)。这样就需要使用两个背景数据,如果控制的电机台数更多,则会使用更多的数据块。使用多重背景数据块就是为了减少数据块的数量。
像这种情况,我们就可以利用多重背景数据块来减少数据块的使用量。拿本例来说,我们就可以在OB1中调用FB10,再在FB10中分别调用(每台电机各调用一次)FB1来控制两台电机的运转。对于每次调用,FB1都将它的数据存储在FB1的背景数据块DB1中。这样就无需再为FB1分配数据块,所有的功能块都指向FB10的数据块DB10。原理图如下:
1.基于MPI网络的全局数据通信
使用集成的MPI接口,不需增加通信用的硬件,只需组态,就可以实现周期性的数据交换。传输的数据量较少,广播方式,可靠性较低。
2.基于MPI网络的S7基本通信
每个数据包多76字节,不需要组态连接,调用SFC X_SEND、X_RCV、X_GET与X_PUT实现通信,可用SFC断开连接。
3.S7通信
是专为S7和C7优化设计的通信协议,提供简明、强有力的通信服务。可用于MPI、DP和以太网,多可传送64K数据。S7-300集成的通信接口在通信中只能作服务器,S7-400集成的DP接口和CP 443-5在单向S7通信中既可以作服务器,也可以作客户机。它们之间还可以进行双向S7通信。S7通信需要组态和编程。
4.DP主从通信
一台CPU作DP从站,需要组态双方用于通信的存储区,可能需要调用SFC14、SFC15来实现一致性数据传输。
5.S5兼容的通信
需要组态连接和调用AG_RECV、AG_SEND,多240字节。
1)基于DP的FDL通信,需要使用通信处理器。
2)工业以太网中的ISO、ISO-on-TCP、TCP、UDP连接。
FDL和UDP可以采用多种通信方式。
6. 串行通信
双方需要使用串行通信处理器,通信速度低,极少使用。
产品咨询