七. IEC 61499开源项目4diac应用分布式部署

IEC 61499特征之一就是可以把每个功能块部署在不同的PLC上(也就是可以部署在不同的运行时里面执行)。开源项目4diac也支持这个特征,但是需要手动用功能块建立不同运行时直接的通信,比如可以用PUBLISH_2与SUBSCRIBE_2配合使用,或者CLIENT_1与SERVER_1配合使用。此处我们讲解怎么用PUBLISH_2与SUBSCRIBE_2来建立两个不同运行时之间的通信。我们要实现2个数的加法运算的应用。

具体操作步骤是:

  1. 需要两个运行时,两个运行时可以运行时不同电脑上,此处我们在一台电脑部署两个运行时,一个端口是61499,一个端口是 61399

  1. 拖入一下3个功能块在编辑区域,由于F_ADD输入数据类型是ANY_MAGNITUDE类型,所以需要确定数据类型的功能块来作为输入数据,可以是F_INT_TO_DINT或者其它确定类型的功能块。

  1. 把F_INT_TO_DINT和F_INT_TO_DINT_1功能块部署在FORTE_PC运行时,F_ADD部署在FORTE_PC_1运行时。

  1. 接入来按如下方式配置PUBLISH_2,其中QI设置为1,ID设置为"127.0.0.1:10000"

  1. 接下来配置,QI设置为1,ID设置为"127.0.0.1:10000",为了能显示结果又加了F_INT_TO_DINT_2功能块,原因也是数据类型转换

  1. 启动两个运行时

  1. 部署

  1. 最后可能会出现监视显示数据类型不对,这里可以自行调整数据类型,只需要观察事件是否已经传递过去了
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: IEC 61499是一种面向领域的开放标准,用于实现分布式控制系统的编程。在IEC 61499中,系统被建模为一个或多个组件的网络,每个组件都包含了一个或多个功能块。 IEC 61499运行态的实现依赖于存储在功能块内部的功能算法和事件驱动机制。在系统运行时,每个组件可以独立地处理输入事件并生成输出事件。这些事件通过连接功能块的数据和事件连接进行传输和处理。 在IEC 61499运行态中,功能块通过事件传递和数据交换进行通信。事件传递可以是同步的或异步的,具有优先级和时间戳。数据交换可以是通过输入输出变量或数据连接进行。 IEC 61499标准还引入了代理,用于描述组件之间的逻辑关系。代理是两个组件之间的连接模板,定义了事件传递的规则和条件。代理通过不同类型的事件连接将不同类型的呈现从一个组件传递到另一个组件。 在IEC 61499运行态的实现中,需要一个运行时环境来管理组件、事件传递和数据交换。运行时环境负责检测事件的到达并触发相应的功能块进行计算和处理。它还负责处理代理之间的事件传递和数据交换。 总的来说,IEC 61499运行态的实现涉及到组件的建模和定义、事件传递和数据交换的处理以及运行时环境的管理。这一实现使得分布式控制系统能够实现灵活、可重用、可扩展和可维护的控制逻辑。 ### 回答2: IEC 61499运行态是指根据IEC 61499标准定义的一种工业自动化系统的实现方式。IEC 61499标准是国际电工委员会(IEC)制定的工业自动化分布式控制系统(DCS)标准,通过定义一种分布式控制执行模型来实现系统中不同设备的协同工作。 在IEC 61499运行态实现中,系统根据定义的函数块(Function Block,FB)进行建模。函数块是自包含的计算单元,具有输入和输出端口以及内部变量。系统中的各个设备被抽象为函数块,并且可以在运行时动态添加或删除设备。 在运行态中,函数块通过事件触发执行。当一个函数块接收到一个事件时,它会执行相应的代码进行计算,并将输出发送到其他函数块。这种基于事件的执行模型允许并行执行多个任务,提高了系统的灵活性和实时性能。 此外,IEC 61499运行态还支持状态机和图形化编程方式。状态机允许将复杂的控制逻辑分解为不同的状态和转换,便于理解和维护。图形化编程方式提供了直观的界面,使得用户可以通过拖拉、连接等操作来设计和配置系统,减少了编程的复杂性。 IEC 61499运行态的实现可通过各种编程语言和工具来完成,如C++、Java、Python等。通过遵循IEC 61499标准,可以实现工业自动化系统中设备之间的高效协同工作,提高生产效率和质量。 ### 回答3: IEC 61499运行态是指基于国际电工委员会(IEC)制定的IEC 61499标准,实现了分布式控制系统的运行过程。在IEC 61499中,控制系统被划分为一个个的功能块(Function Block, FB)和资源(Resource)组成的网络。每个功能块都有自己的输入和输出,通过消息传递的方式实现功能块之间的通信和协作。 在IEC 61499运行态中,功能块被实例化为运行实例,即运行时的对象。每个运行实例都有自己的状态和数据。功能块之间的通信通过事件(Event)和数据(Data)的传递来实现。当一个事件被触发时,相应的功能块会执行相应的操作,并可能产生新的事件和数据,触发其他功能块执行相应的操作。这种事件驱动的执行模型使得控制系统可以灵活地响应外部的变化。 IEC 61499运行态还提供了资源管理和调度功能,确保系统中的资源能够被合理分配和利用。资源可以是硬件设备(如传感器、执行器等)或软件模块(如函数库、驱动程序等)。资源管理器负责管理和调度资源的使用,通过资源的共享和分配,提高系统的效率和可靠性。 IEC 61499运行态的实现可以使用不同的编程语言和工具,如C++、JavaPLC编程软件等。开发人员可以根据具体的应用需求选择适合的语言和工具来实现。同时,也可以借助现有的工程平台和开发环境,如4DIAC-IDE、CODESYS等,来简化和加速开发过程。 总之,IEC 61499运行态的实现使得分布式控制系统能够更加灵活、高效地响应外部变化,提高了系统的可编程性和可扩展性。通过合理的资源管理和调度,确保系统的稳定性和可靠性。它在自动化控制领域具有广泛的应用前景。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

2193410903

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值