c++ 一个线程执行结束后_niagara中实现根据设定时间来执行完一个命令后自动释放权限...

大家晚上好,我是骏凯联信的四个石头,猜想大家应该都回归到原位了吧。经过一个春节吃吃喝喝,今天突然发现自己肉长了不少。

应群里同学要求今天给大家分享一个基于niagara使用IntelliJ IDEA开发工具开发的基本控件详细操作步骤。

之前的文章对于代码的编写都已经讲解得很清楚了,现在着重给大家讲讲配置步骤。

好吧进入正题,启动niagara服务打开你的niagara workbench界面。

aa1cfe156f3e2a105bbbeec0297f7ead.png

点击tool菜单下面的new module新建一个niagara的控件。

4d99fceafdf47c0c85ae4fc3018f92fd.png

进入到新建module 参数编辑窗口,并按照如下配置。

1.第一个是你的控件源文件放置的位置,你可以自己定义。

7a54246d2ce3a43c2203d305196c30c4.png

2.下面依次将Module Name、Preferred Symbol等填写完成。

9ac8438330abb7c2895526de46e7e245.png

Tips:这里一定要将Create Palette勾选上,用于在niagara的workbench显示,很重要。

完成后点击next下一步,进入到如下界面。

ca1a40f50c3506b89845f7c96834ef39.png

这一步主要用于添加依赖的rt包,当然如果你不知道要添加哪些rt包可以在后面依赖文件里添加。

完成后点击next下一步,最后可以在niagara workbench中双击源文件查看。

6bdf36ef2a3239301ae8b1669631e20b.png

好了原文件我们已经基本建立完成,现在来用intellij idea工具打开这个项目,点击file 菜单下的open找到你的刚才建立的项目然后打开。

20f986202a5d13f7a6c44d491843eec2.png

等gradle加载完成后选择TestTrain01-rt.grale 然后点击ok,完成后可以展开看到左边的项目栏。

030ab9add1f6255f39b54113e697d892.png

现在在intellij中的TestTrain01-rt项目中新建一个BHelloWater 的.class文件,具体内容就不赘述,主要介绍配置参数。

5a1130377d3b88b35cd1ca902087d623.png

最重要的是要继承BComponent父类,这个是niagara框架的基础类。

05485eed6acc91f1d02378a47a2da822.png

继承之后为你的控件添加@NiagaraType、@NiagaraProperty、@NiagaraAction,这三个都是niagara封装后供开发者使用的配置参数。

这些配置规则如果不会你可以参考niagara的help里面去查找,这里面有很多配置方式,都可以参照使用。

c65eb09be1198564cb39467f6aa98abe.png

现在点击右边的gradle找到相应的项目源文件,点击下面的slotmatic自动完成set,get方法。

9f025d7818864fb37abb5c3167f85058.png

可以看到baja已经为你自动加载了set、get、type等方法。

28b1a42f5d3604b12f95a9729e6e158f.png

按照上面的方法就可以在下面设计你想要的功能了。

现在以一个当执行完一个true或false后等几秒自动变为null这个功能为例。

@NiagaraType、@NiagaraProperty、@NiagaraAction的部分功能如下:

7fe5acd1b4d24a0ce3278732cfbf92ff.png

设计的部分方法代码如下:

93701461aa9a57f2f854fb3184fb733a.png

主体的方法设计完成后,接下来详细给讲讲如何配置必要的文件,

主要为.gradle/.palette/include.xml 文件,现在一个个来看如何设置。

1).Gradle文件

136bc1b5b6ace36c12e01b123a073655.png

c97137acbace632999b0421265aefeb6.png

Tips: 建议把dependencies下的各依赖包的版本号都去掉,这样可以使你开发的控件可以兼容低版本,这一点非常重要。你也可以在这里添加任何你需要的依赖包。

2).palette文件

8dbb9d67ece2a70b85b12da68c4d415b.png

双击进入.palette文件。

a8af3dac0a520f5b3d6ac03c8c68eab2.png

Tips:这几个参数设置非常重要,直接关系到你的控件是否能在niagara中显示。

1---你的控件名字,一定要和你的Class name 去掉B后保存一致。

bb82355d5b022395cedb4cc08002d53f.png

2---module name 这个一定要和你的.gradle文件中的module name一致,不然的控件编译一定出错,

c16478448a7249b4c25367e35ac0ac40.png

Td也和你的preferredSymbol一致就可以了。

7c0540d8f078990b5c96f693b88b031e.png

3---这个和第一个相同就可以了。

5ef205daf8f5845866c7d627cad6e3f0.png

2)include.xml文件

这个文件原则上一般不需要做任何修改,当你使用gradle的build 后会自动生成,当然如果没有生成你也可以手动添加就可以了。

现在来点击右侧的Gradle下的build已完成最后的编译。

6d0ea75e0bbe27ca2be9aad39a48d8f7.png

完成后控制栏会输出如下编译完成信息。

e1260a1a98d4ba3d95290b838d2541ad.png

重新双击进入到include.xml文件可以看到已有type路径生成了。

0b3e4af5b298f75614a4d79851d3dda1.png

现在进入到niagara的modules文件中去查看,是否有新的jar包生成。

a1fe67bf958aa7ccf85b548cd885aa32.png

可以看到已经成了jar包,现在进入到niagara中去测试一下。

启动niagara然后打开一个station站点,进入config文件夹,新建一个新的文件。

e074b9b64106091b78006476d5698b9b.png

双击进入wire sheet界面,在palette中打开并找到你的控件。

dd6dcd66cac33f05e4a60715bbd19f29.png

将HelloWater拖入到Exercises的wire sheet文件夹中。

580eff03df135af92b84b74f6b74d785.png

双击模块进入AX property将Enabled 设置为true.

b97d522ff43d26b662c12fcb354ceec6.png

将Reset Time 设定为5s后变为null空值。

1123d735621f88a9143d0a56556ec021.png

设置完成后返回wire sheet界面,新建一个boolean类型点并链接到InPut Val,新建一个boolean类型点并链接到OutPut Val。

fcc33a46cb7bcea30ad833f973d48778.png

改变In的值检查是否等5s后会变成null。

重复上次操作发现都ok。

今天这次分享非常详细的给出了开发者在开发过程中需要注意的多个关键点,做好这些就能轻松的开始自己的项目了。这些都是小编一点一点摸索出来的,希望对大家有用。

Tips:大家需要这个功能的源码也可以关注微信公众号后添加小编微信私信小编获取。

OK今天的分享就到这里。如果您是经验丰富的开发者,也不防来我们这里坐坐,大家共同交流心得。如果您是通用物联网平台控制软件Niagara的学习者,可以来我们群里获取第一手学习资料,加入我们的微信群,私信小编获取。

后台回复关键词入群即可。

9194e0c3ee48411d4c6ce27c921c1e8b.png

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值