当前位置:首页 » 文件传输 » fb模块之间数据访问
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

fb模块之间数据访问

发布时间: 2022-07-04 15:12:07

‘壹’ 西门子PLC的FB模块怎么用,他有什么功能和作用

FB简单地可以理解为功能块,使用FB的时候,每次都需要建立一个DB数据块,用于存储数据,对处理数据量不大的情况之下,FB与FC没有太大的区别。放心使用吧

‘贰’ 谁知道西门子s7里fb和fc模块的具体区别

如果FB和FC不需要多次调用,那么这两者之间就没区别。如果多次调用,FB模块可以带数据DB,有初始值。FC不带数据DB。
举个简单的例子,有一个工艺需要多次调用,并且用到一个数据,这数据在不同的次数里有不同的数值。那么这时候使用FC就不可能实现这么个功能。用FB了,在数据区里,每一次的调用,都可以定义不同的初始值,问题也就解决了。当谈,假如多次调用的模块工艺里不携带数据的,那FB和FC也没区别,都相当于200里的子程序

‘叁’ 西门子FB和FC区别

1、不同的数据块:FC使用共享数据块,FB使用后台数据块

例如,如果要用相同的参数控制3个电机,则只需使用FB编程以及3个背景数据块。 但是,如果使用FC,则需要不断修改共享数据块。 否则,数据将丢失。 FB确保三个电机的参数不会相互干扰。

2、实际决定有所不同:

FB和FC本质上是相同的,它们等效于子例程,并且可以被其他程序调用(也可以调用其他子例程)。 它们之间最大的区别是FB与DB结合使用,即使FB退出后,FB使用的数据也存储在DB中。 FC没有永久性的数据块来存储数据,在操作过程中只会分配一个临时的数据区域。 在实际编程中,使用FB还是FC取决于实际需求。

FB和FC之间没有太大区别。 FB有一个背景数据块,而FC没有。 因此FB可以为不同的数据块带来不同的参数值。 这样,多个对象可以使用相同的FB和不同的背景数据块。

3、不同的静态变量:

FC和FB与C中的函数相似,不同之处在于FB可以生成静态变量,并且数据可以在下一个函数调用期间保留,而FC变量仅在调用期间有效,下一次将被替换。

FB和FC之间没有太大区别。 FB有一个背景数据块,而FC没有。 因此FB可以为不同的数据块带来不同的参数值。 这样,多个对象可以使用相同的FB和不同的背景数据块。

FC和FB与C中的函数相似,不同之处在于FB可以生成静态变量,并且数据可以在下一个函数调用期间保留,而FC变量仅在调用期间有效,下一次将被替换。 每次调用FC的I / O区域时,每次都必须手动输入它,而FB则不需要它,这省去了很多麻烦。 如果直接在上位机控件中输入DB控件地址!


‘肆’ 西门子PLC中FB和FC区别

原发布者:haic2009
FB和FC区别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和不同的背景数据

‘伍’ FB-DIMM的详细介绍

FB-DIMM技术是Intel为了解决内存性能对系统整体性能的制约而发展出来的,在现有技术基础上实现了跨越式的性能提升,同时成本也相对低廉。在整个计算机系统中,内存可谓是决定整机性能的关键因素,光有快的CPU,没有好的内存系统与之配合,CPU性能再优秀也无从发挥。这种情况是由计算机原理所决定的,CPU在运算时所需要的数据都是从内存中获取,如果内存系统无法及时给CPU供应数据,CPU不得不长时间处在一种等待状态,硬件资源闲置,性能自然无从发挥。对于普通的个人电脑来说,由于是单处理器系统,目前的内存带宽已经能满足其性能需求;而对于多路的服务器来说,由于是多处理器系统,其对内存带宽和内存容量是极度渴求的,传统的内存技术已经无法满足其需求了。这是因为目前的普通DIMM采用的是一种“短线连接”(Stub-bus)的拓扑结构,这种结构中,每个芯片与内存控制器的数据总线都有一个短小的线路相连,这样会造成电阻抗的不继续性,从而影响信号的稳定与完整,频率越高或芯片数据越多,影响也就越大。虽然Rambus公司所推出的的XDR内存等新型内存技术具有极高的性能,但是却存在着成本太高的问题,从而使其得不到普及。而FB-DIMM技术的出现就较好的解决了这个问题,既能提供更大的内存容量和较理想的内存带宽,也能保持相对低廉的成本。FB-DIMM与XDR相比较,虽然性能不及全新架构的XDR,但成本却比XDR要低廉得多。
与现有的普通DDR2内存相比,FB-DIMM技术具有极大的优势:在内存频率相同的情况下目前能提供四倍于普通内存的带宽,并且能支持的最大内存容量也达到了普通内存的24倍,系统最大能支持192GB内存。FB-DIMM最大的特点就是采用已有的DDR2内存芯片(以后还将采用DDR3内存芯片),但它借助内存PCB上的一个缓冲芯片AMB(Advanced Memory Buffer,高级内存缓冲)将并行数据转换为串行数据流,并经由类似PCI Express的点对点高速串行总线将数据传输给处理器。
与普通的DIMM模块技术相比,FB-DIMM与内存控制器之间的数据与命令传输不再是传统设计的并行线路,而采用了类似于PCI-Express的串行接口多路并联的设计,以串行的方式进行数据传输。在这种新型架构中,每个DIMM上的缓冲区是互相串联的,之间是点对点的连接方式,数据会在经过第一个缓冲区后传向下一个缓冲区,这样,第一个缓冲区和内存控制器之间的连接阻抗就能始终保持稳定,从而有助于容量与频率的提升。
用于数据中转、读写控制的缓冲控制芯片AMB并非只是一枚简单的缓冲芯片,它主要承担以下三方面的功能:
1)负责管理FB-DIMM的高速串行总线。缓冲芯片与北桥芯片(或者CPU)中的内存控制器连接,让数据在内存缓冲与控制器之间传送,承担数据发送和接收的指派任务,这包含一组数据读取的14位串行通路和一组用于数据写入的10位通路。
2)实现并行数据流与串行数据流的翻译转换工作和读写控制。缓冲芯片从内存中读取出来的原始数据原本都为并行格式,它们在通过高速串行总线发送出去之前就必须先转换为对应的串行数据流,而这个任务也必须由缓冲芯片来完成,反之,从内存控制器传来的串行数据流要转成指定的并行格式,然后才能写入到内存芯片中,缓冲芯片自然也要承担这个任务。
3)承担多个FB-DIMM模组的通讯联络任务。如果在一个内存通道中存在多条FB-DIMM模组,那么各个FB-DIMM模组间的数据都是通过缓冲芯片来传递、转发的。缓冲芯片要始终承担着数据传输和读写的中介工作,不同的FB-DIMM内存储模组必须通过这枚芯片才能交换信息。
因此,每个内存芯片不再直接和内存控制器进行数据交换。实际上,除了时钟信号和系统管理总线的访问,其他的命令与数据的I/O都要经过位于DIMM上的AMB的中转,从而消除了传统DIMM模组“短线连接”的弊端。不难看出,缓冲芯片AMB实际上是FB-DIMM的大脑,它承担所有的控制、传输和中转任务。使用串行总线作为传输媒介,FB-DIMM便顺理成章拥有跨越式的高接口带宽。根据1.0版标准定义,FB-DIMM模组的串行总线有3.2GHz、4.0GHz和4.8GHz三种频率规格,而每条模组的有效位宽为24bit,所对应的接口带宽便是9.6GBps、12GBps和14.4GBps,远远超过了现有的DDR2内存。必须注意的是,FB-DIMM的接口带宽与实际读写带宽其实是两个概念,前者所指的只是每个模组串行总线的最高带宽,它在含义上类似SATA接口—SATA的总线带宽达到150MBps,但这并不是指串行ATA硬盘能达到这个速度,代表的只是带宽的最高值。同样,FB-DIMM的接口带宽同样如此,模组的实际性能仍取决于内存芯片规格和模组位宽设计。如果采用DDR2-533芯片、64bit位宽设计,那么这条FB-DIMM的有效带宽仍然只有4.2GBps,同现有的DDR2-533内存完全一样。FB-DIMM之所以能拥有高性能,关键在于串行传输技术让它摆脱了并行总线难以实现多通道设计的问题,使得在计算机中引入六通道设计成为可能,借此达到传统DDR2体系难以想象的超高带宽,这就是FB-DIMM的真正奥秘所在。不过,引入缓冲设计也会产生一个新的问题。数据在传输过程中需要经过缓冲和转换,不可避免需要花费额外的延迟时间,对性能产生负面影响。但随着工作频率的提升,这个缺陷会变得越来越不明显。为了保持信号稳定,DDR2内存的延迟时间将随着工作频率的提高而快速增加,而FB-DIMM的延迟时间增幅平缓,所以虽然现在FB-DIMM延迟较高,但当单条模组的带宽达到4GBps左右时,FB-DIMM与DDR2内存延迟时间相当,超过这个临界点之后,DDR2内存的延迟时间将明显长于FB-DIMM。换句话说,FB-DIMM系统不仅具有更高的数据带宽,而且延迟时间更短、反应速度更快。
串行总线设计是FB-DIMM赖以拥有高效能的基础。实际上,Intel并没有另起炉灶从零开始设计,而是直接沿用了许多来自于PCI Express的成果,其中最关键的就是使用差分信号技术(Differential Signaling)。 现有各种并行总线都是以一条线路来传输一个数据信号,高电平表示“1”,低电平表示“0”,或者反过来由低电平表示“1”,高电平表示“0”。单通道结构的64bit内存需要使用64条金属线路来传输数据,双通道就需用到128条线路。当数据在线路传输时,很容易受到电磁环境的干扰,导致原始数据出现异常,如高电平信号电压变低,或低电平的电压变高,这些干扰都有可能让接收方作出错误的判断,导致数据传输失败。过去业界曾为这个难题大伤脑筋,当初硬盘数据排线从40针提高到80针细线(增加40根地线)就是为了降低传输干扰,但直到串行技术引入后问题方告解决。与传统技术迥然不同,差分信号不再是以单条线路的高低电平作为“0”和“1”的判断依据,而是采用两条线路来表达一个二进制数据—数据究竟为“0”还是“1”取决于这两条线路的电压差。这样,即使受到严重的外来干扰,导致两条线路传输的电平信号发生较大范围的电压波动,但它们之间的电压差依然可以保持相对稳定,接收方便能够作出正确的判断。因此,差分信号技术拥有非常强的抗干扰能力,但因它需要占用两条线路,很难被引入到并行总线技术中,只有针对服务器应用的SCSI总线是个例外。
FB-DIMM借鉴PCI Express技术的第二个地方,就是其串行总线也采用了点对点结构。目前,DDR体系的并行总线无法在同一时刻同时发送和接收数据,二者根据指令轮流进行。然而FB-DIMM却可以在同一时刻同时发送和接收数据,奥秘在于它拥有两个串行通路,一个用于数据发送,一个用于数据接收。与之对应,FB-DIMM的缓存芯片有专用的发送控制逻辑和接收控制逻辑,数据读出操作和写入操作可在一个周期内同步进行。这实际上将内存系统的理论延迟时间缩短了一半,弥补了缓冲处理所造成的损失。较为特殊的是,FB-DIMM的数据发送总线与接收总线是不对等的,发送总线一共有14个线路对,一次向内存控制器发送14bit数据。而接收总线采用10位设计,每次只能够接收10bit数据。笼统地说,单通道的FB-DIMM模组就是24bit设计。这种不对等设计之前没有先例,但它却十分符合内存系统的客观实际。在大多数情况下,CPU从内存中读出的数据总是远远多于写入到内存的数据,与之对应,读取总线带宽高于写入总线的设计方案科学合理,而且十分经济。
按照Intel的FB-DIMM规范,每个DIMM只需要69pin或70pin,比普通DDR2的240pin要少得多,这有利于实现多通道设计。例如普通的DDR2系统需要240条线路,而且线路长度必须保持严格一致,这导致了设计难度的加大,而且主板PCB上的空间被密密麻麻、设计极其复杂的蛇形线路占据,没有任何空余的地方;而采用FB-DIMM的话,即使是六通道设计,也只需要420条线路,比双通道的DDR2还要少得多,大大简化了主板设计,并且工作更加稳定。
高性能并非FB-DIMM的唯一优点,对服务器系统来说,FB-DIMM另一个关键的优点是它可实现超大容量。每个FB-DIMM内存通道都可以最多支持8个DIMM(普通DDR2每个内存通道只能支持2个DIMM),一个服务器系统最多可以实现6个通道,装载48条FB-DIMM内存,而每条FB-DIMM内存的最大容量达到4GB,这样该系统可容纳的最高容量就达到了192GB。这么大的容量对于普通服务器没有什么意义,但对于高端系统乃至超级计算机,FB-DIMM带来的容量增益就非常明显。
要将如此之多的FB-DIMM内存插槽放置在主板上肯定是个大麻烦。显然,若采用现行内存槽方案,将导致主板PCB面积难以控制,为此,Intel为FB-DIMM系统定义了全新的连接模式,通过内存扩展板来实现多模组的连接。主板上提供6个内存扩展槽,每个内存扩展槽对应一个通道。每个内存扩展槽上可直接插入FB-DIMM模组或者是内存扩展板,每个内存扩展板上又有8个FB-DIMM内存插槽,只要你愿意,可以将8条FB-DIMM模组插在扩展板上,然后再将该内存扩展板插在主板上,依此类推,完成6通道、48条内存的安装。这种方法充分利用了机箱内部空间,巧妙解决了多模组安装的难题,构建高效能系统就显得更具可操作性。
值得注意的是,FB-DIMM内存模组的金手指仍有240个,与普通DDR2内存相同,区别只是缺口的位置不同而已。这种设计其实也是为兼容现有生产设备之故,FB-DIMM的有效针脚只有69个或70个,我们可以从FB-DIMM内存模组实物图中看到,只有正面左侧的金手指有连接到缓冲控制芯片的线路,其余位置的金手指并没有连接线路,只是做做样子而已。也许很多人会认为,直接设计为69个或70个金手指会更经济一些,但这样做就必须对现有的生产设备作较大的调整,花费的成本反而更高。

‘陆’ 西门子300PLC的FB和fc的区别

如果FB和FC不需要多次调用,那么这两者之间就没区别。如果多次调用,FB模块可以带数据DB,有初始值。FC不带数据DB。
举个简单的例子,有一个工艺需要多次调用,并且用到一个数据,这数据在不同的次数里有不同的数值。那么这时候使用FC就不可能实现这么个功能。用FB了,在数据区里,每一次的调用,都可以定义不同的初始值,问题也就解决了。当谈,假如多次调用的模块工艺里不携带数据的,那FB和FC也没区别,都相当于200里的子程序。

‘柒’ 西门子PLC,S7-300或者S7-400中的FB(功能块)怎么理解,怎么使用

最好找本深入浅出300看看,网络上很多
简单讲下:一般编程的时候FB用途很少的(比较大的系统除外)
所以大部分时间都是使用FC,功能
FB自己带数据块存储数据,FC使用共享数据块存储
例如建立个FC1,在OB1中调用call fc1
如果有数据交换的话,在建立个DB1为共享数据块
则,举例采集的温度
在FC1中编程,可以通过FC105功能存储到DB1中
然后再FC1使用例如DB1.DBW0
这样说 能理解点了吗

FB带自己的数据块,不需要共享数据块

‘捌’ 请问在含有CPU 317-2PN/DP的S7-300上,如何编程可加载通讯功能块FB14("GET")和FB15("PUT")用于数据交换

为了通过一个S7连接在使用CPU 317-2PN/DP的两个S7-300工作站之间进行数据交换,其中该S7连接是使用NetPro组态的, 在S7通信中,必须调用通讯功能块。模块FB14("GET") 用于从远程CPU取出数据,模块FB15("PUT")用于将数据写入远程CPU。 功能块包含在STEP 7 V5.3的标准库中。CPU 317-2PN/DP的通讯模块FB14("GET")和FB15("PUT")的属性 :
FB14和FB15是异步通讯功能。 这些模块的运行可能跨越多个OB1循环。 通过输入参数REQ激活FB14或FB15。 DONE、NDR或ERROR表明作业结束。PUT和GET可以同时通过连接进行通信。
注意:不能将库SIMATIC_NET_CP中的通讯块用于CPU317-2PN/DP。

‘玖’ FB块和FC块可以相互调用吗FB块使用背景数据块时如何使用

FB中调用FC没有任何问题,相当于把一块功能拼装在一个函数里面实现。FC调用FB,如果FC是不重复的,那就相当于OB1中的逻辑,也没有任何问题,就是FB的标准用法,FB总是要被用的么!但如果FC是要被别的FC或者OB重复调用,那么FB后面带的背景数据块就不可以固定,就必须使用FC的形参把DB号送进来,这样保证每次FB用的是不同的DB而如果是FB调用FB,除了上述的方法外,还可以使用多重背景数据块的方法,就是子FB共享使用母FB的DB块的数据区这样需要的全局数据块的数量可以大大减小。