欢迎来到天天文库
浏览记录
ID:17849610
大小:481.50 KB
页数:13页
时间:2018-09-07
《工业自动化网络技术》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、一、课程设计目的1、熟悉LonWorks节点开发工具NodeBuilder3.0软件;2、认识和熟悉NodeBuilder编程语言NeuronC;3、掌握用NodeBuilder软件来创建设备。二、所需设备计算机一台NodeBuilder3.0软件Lonmaker3软件PCLTA-20网卡GIZMO4(带TP/FT-10F闪控模块)三、设计步骤1创建LonMaker网络网络名称为本组学生姓名的汉语拼音2创建NodeBuilder工程3创建NodeBuilder设备模板将开发和发布构造硬件模板均选为:TPFT-10F64kControlmodule4自动
2、产生NeuronC代码5编辑NeuronC代码6编译、构造和下载应用程序7测试设备界面8调试设备应用程序9在网络中安装和测试设备四、设计内容1、发板Lonworks作业简单例子:点亮开上的灯用LTM-10A(Nodebuilder仿真器)和Gizmo4作为最简单LonWorks网络的节点,使用安装LNS和FT-10(包含在PCLTA-21上)网卡作为网络适配器连接成一个最简单的LonWorks网络。LTM-10A和Gizmo4的功能是:设置两个功能模块:SPFTOpenLoopSensor和SPFTOpenLoopActuator,分别控制IO_6按钮
3、输入(改变输出网络变量nvoValue)、控制IO_0引脚输出电压(输入网络变量nviValue),使用LM4W绑定:nvoValue→nviValue。具体实现NeuronC语言为:(1)、修改头文件:为用户设备的I/O口管脚声名,通过修改switch1.h(添加IO_6inputbitioswitch;)和修改led.h(添加IO_0outputbitioled=1;)文件来完成;(2)、修改实现文件:为完成用户设备的I/O功能,通过修改switch1.nc(添加when(io_changes(ioswitch)){switch1::nvoValu
4、e.state=!input_value;switch1::nvoValue.value=input_value?(short)200:0;})和修改led.nc(添加{io_out(ioled,!(nviValue.value&&led::nviValue.state));})来完成。通过初次实验,我们发现灯是低电平亮的,所以在实验的基础上修改了一点:修改switch1.nc时的语句switch1::nvoValue.state=input_value;改成switch1::nvoValue.state=!input_value;通过加了个!取反,最
5、后实现按下按键灯亮,放手灯灭。2、拓展设计:设计1、让灯实现再按下按键后能够常亮常灭。编辑NeuronC代码之前的设计步骤和指导书简单例子一样,NeuronC代码如下:switch1.hIO_6inputbitioswitch;switch1.ncwhen(io_changes(ioswitch)){switch1::nvoValue.state=!input_value;switch1::nvoValue.value=input_value?(short)0:100;}led.hIO_0outputbitioled1=1;led.ncintf=0;v
6、oidled1processNV(void){if(led::nviValue.value&&led::nviValue.state){f=!f;io_out(ioled1,!f);//也就是通过定义一个中间变量,将按键按下时,对应变量的瞬时变化赋值给中间变量,利用中间变量控制led灯的亮灭}设计2、点亮两个灯(按下按键,led1亮,led2灭;再按下按键,led1灭,led2亮,再次按下按键,led1亮,led2灭,如此循环下去)插入功能模块编写过程的图片,也即是led模块的形成。添加一个led1的functionblock,添加一个led2的fun
7、ctionblock,按下ok后,出现以下选项:选择是(Y),led的functionblock以矩阵的形式存在,里面包含led1和led2。NeuronC代码如下:switch1.hIO_6inputbitioswitch;switch1.ncwhen(io_changes(ioswitch)){switch1::nvoValue.state=!input_value;switch1::nvoValue.value=input_value?(short)0:100;}led.hIO_0outputbitioled1=1;IO_1outputbitio
8、led2=0;led.ncintf=0;voidled1processNV(void){io_
此文档下载收益归作者所有