浔之漫智控技术-西门子PLC代理商
西门子PLC模块 , 变频器 , 触摸屏 , 交换机
福州西门子S7-200代理商

福州西门子S7-200代理商

用西门子编程时,可以用到功能块fb和功能fc(fb、fc都是组织块)资料上说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和不同的背景数据块,被多个对象调用。

fc和fb像c中的函数,只不过fb可以生成静态变量,在下次函数调用时数据可以保留,而fc的变量只在调用期内有效,下次调用又重新更换。 每次调用fc的i/o区域必须要自己每次手动输入,而fb就不要,省去不少麻烦,如果在上位机控制直接输入db控制地址就可!fc与fb的区别。

rlo上升沿检测指令 -(p)- 的作用是不是会受程序扫描时间影响?

(1)我在fc块里面用到-(p)- ,发现程序比较长的时候就出现下图中情况,根本不能用来检测上升沿;

(2)当我把ob1其他的程序都删掉时,只调用这个fc块时,就可以检测上升沿,不会有问题。

(3)另一个是我尝试-(p)-指令要是不在fc块,直接在ob1中,也是不会有问题。

答:

p线圈(上升沿检测指令)上面的地址用来保存上一扫描周期的rlo的值,不能使用fb、fc的临时局部变量。改为全局变量或fb的静态变量就可以了。

因为调用程序时同一级fb、fc的临时变量公用同一片地址区,前面调用的块的临时变量被后面调用的块的临时变量覆盖,所以上升沿检测指令不能正常运行。

在ob1中只调用一个fc,公用的地址区变成该fc独用,所以没有问题。

ob1的临时变量的地址区是ob1单独使用的,所以程序放在ob1里也没有问题。

为了将项目数据装载到 cpu,需要建立一个编程设备与设备或cpu 之间的在线连接。下面列表中的一个例子介绍了s7-1500 cpu 的下载步骤 (适用于所有类型的 cpu )。在某些情况下如果模块的存储器没有自动初始化,需要首先将 s7-1500 cpu 恢复出厂设置。如 cpu 仅有 ip 地址而没有下载硬件组态,在线连接时会显示“不兼容”信息。


编号步骤
1在项目导航中,标记包含想要下载到 cpu 的项目数据的文件夹(例如,_1),然后执行菜单指令“在线 >; 下载到设备”或直接点击工具 栏上的图标“下载到设备”。成功后,修改的项目数据(设备组态和 step 7 程序)将被装载到 cpu 中。


图. 01

另外,可以装载单独的组件,例如硬件组态和程序块。在项目导航中右键点击“plc_1 ”,在弹出的菜单中会提供如下菜单指令:

“下载到设备 >; 硬件和程序(仅变化)”

设备组态和修改的程序块下载到 cpu 中。

“下载到设备 >; 硬件配置”

只有硬件组态下载到 cpu 中。

“下载到设备 >; 程序(仅变化)”

只有改变的程序块下载到 cpu 中。

2次下载时,会弹出“扩展下载到设备”对话框。这里需要定义 pg/pc 接口。在下拉列表中可以选择已组态的数据并点击“下载”按钮。


图. 02

设备组态中配置的 cpu 的 ip 地址必须和在线显示的 cpu 的 ip 地址匹配。

图. 03

注意

如果使能了“显示所有可访问的设备”选项,那么所有可访问的设备及其 ip 地址将被显示出来,这样就不需要在离线项目中更改模块的 ip 地址而直接将项目下载在 cpu 中。

3当搜索到节点后,该站点的 ip 地址会显示在“子网内的所有设备”表格中。在“在线状态信息”区域中,你也可以确认这个与所需 ip 地址设备的在线连接。


点击 “上载” 按钮。

4编程设备的以太网口 ip 地址必须和被组态的模板在相同的 ip 网段。如果为 pg/pc 已经分配了一个 ip 地址,将不会出现图.04 的对话框。点击“yes”按钮。


图. 04

并确认下一条信息。

5项目数据必须一致。如果项目没有被编译,在装载前项目数据会自动被编译。在“装载预览”对话框中,显示出要执行的装载信息和动作要求。


仅在设备组态已经装载或者修改过文本列表的文本时需要将 cpu 转为停止状态。如果仅给 cpu 装载程序块,则不需要将模块转为“stop" 状态。

在“文本库”行建议选择“一致性装载”(仅对于 s7-1500而言)。这样所有的文本消息和文本列表条目都将被装载到 cpu 内。

可以装载的时候,“装载”按钮会激活。点击”装载“按钮。

图. 05

6后弹出“装载过程结果”对话框,提供装载过程成功与否的信息。点击“完成”按钮将 cpu 置于“运行”模式。


图. 06

在检查窗口进入“常规 >; 信息”获得详细的关于装载流程的信息。

7完成了项目数据到 cpu 的下载, 并将 cpu 置于“运行”模式后,可以在 cpu 上执行测试和诊断功能。


表 01

下载较早版本的 step 7 tia portal (s7-1200 cpu) 时的注意事项

如 果之前已经用 step 7 tia portal v12 (或更高版本) 给 s7-1200 cpu 下载过项目,而现在想用较早版本的 step 7 (例如v11) 下载,那么就需要将 cpu 恢复出厂设置。恢复出厂设置的操作可以使用现有版本的 step 7 tia portal 或者 mmc 卡来完成。

与设备做s7路由的注意事项( s7-1500)

如果在 cpu s7-1500 的属性中使能“使用不同方法分配ip 地址”,则无法执行与 hmi 设备间的 s7 路由功能(见图.03)。因为 s7 路由需要 step 7 项目有固定的ip 地址,所以要把 hmi 设备连接到第二个 profinet 接口[x2]上。


发布时间:2024-05-08
展开全文
优质商家推荐 拨打电话