YFIOs就是YFSoft I/O Server的简称,在物联网、云计算时代,一切以数据为中心,不同的传感器通过不同的方式接入网络,通过云计算的方式为不同的终端用户提供服务。
为了适应这种新形势的发展,加速和降低各种传感器、智能模块的入网代价,以微软成熟的.NET Micro Framework系统为基础,打造出物联网时代的轻量级嵌入式组态系统 —— YFIOs。
详情请参见《YFIOs技术白皮书》。
请参见文档《YFIOs安装指南》。
选择YFIOs Strategy模板进行策略开发。
public StrategyInfo GetStrategyInfo()
{
StrategyInfo info = new StrategyInfo();
info.Name = Name;
info.ConfigSize = 0;
return info;
}
代码模板会自动生成如上代码。
我们在OnRun函数里,添加如下代码:
public int OnRun(IOperate op, StrategyMode mode,object arg)
{
op.Print(MessageType.Debug, "OnRun", Name);
op.Print(MessageType.Information, "Hello World!!!", this.Name);
return 0;
}
编译我们刚刚编写的策略代码。然后启动YFIOs Manager程序,单击树形控件 中的【策略列表】项,双击列表控件中的【新建…】选项,则弹出用户策略窗体。
我们选择策略Debug\le\ YFIOsStrategy1.pe文件。
进入【执行模式】面板,我们选择执行模式为Loop,设置循环周期为200ms。
单击树形控件中的【项目属性】选项,双击列表控件中配置数据,则弹出如下界面,默认情况下,用户调试、普通信息、系统调试信息选项是没有勾选的。
我们勾选所有的选项。
保存项目后,单击【调试】->【部署】菜单(或单击部署图标)进行项目部署。
单击【调试】->【启动】菜单(或单击启动图标)让项目开始运行。
从信息输出窗口中,可以看到,策略已经正确加载,也输出了 Hello World!!!
虽然编写的策略可以在YFIOsManager通过信息输出的方式进行调试,但是如果策略比较复杂,这种调试方法还是不太理想。
因此我们构建一个TinyIOsEmulator,在Visual Studio 2010环境里进行策略调试。
由于YFSoft.DriverTest是一个标准的.NET Micro Framework程序,所以调试的时候,需要把系统设置为.NET Micro Framework系统模式。
确保PF9和GND连接。
TinyIOsEmulator项目里需要引用我们刚刚创建的策略。
测试的主要代码如下:
public class YFIOsEmulator
{
YFIOS ios = new YFIOS();
public void Run()
{
YFIOsStrategy1 mvs = new YFIOsStrategy1();
mvs.OnLoad(ios.operate, null);
while (true)
{
mvs.OnRun(ios.operate, new StrategyMode(), null);
Thread.Sleep(3000);
}
}
}
从下图可以看出,在Visual Studio开发环境里,我们已经可以进行调试了,并且调试窗口也输出了Hello world!!!信息。
本篇文章仅仅是一篇策略开发入门的文章,要编写一个比较复杂的策略,还需要深入学习各种开发知识。
高阶策略开发相关的内容如下:
(1) 策略运行模式设定;
(2) 策略图形开发;
(3) 策略互相调用;
(4) 策略代码引用第三库;
(5) 策略YFIOBC操作;
(6) 策略直接调用驱动;
1、.NET Micro Framework 官方网址
http://www.microsoft.com/netmf/default.mspx
2、.NET Micro Framework官方博客
http://blogs.msdn.com/netmfteam/
3、中文博客
http://blog.csdn.net/yefanqiu
http://www.cnblogs.com/yefanqiu
4、叶帆科技
http://www.sky-walker.com.cn/
5、物联网中间件技术开发论坛
http://www.yfios.net
从2012-12-21起YFIOs和YFHMI将开展为期半年的免费试用活动,符合申请条件的用户,将依次获取YFIOs和YFHMI的试用机会。
申请表下载:http://sky-walker.com.cn/MFRelease/document/yfios_yfhmi_application.doc