利用Val语言可以编写出各种各样的应用程序。正如windows phone面临的窘境一样,受众太小,市场不大。应用程序不多,所以也谈不上成熟。
国内的应用程序基本上就是简单的小程序,谈不上什么编程思想。国外许多都是基于kernel的而衍生出面向各种应用的程序。
1.模板思维.由于val是基于过程而非面向对象,所以没有继承与重载。利用模板可以模拟继承的思路。
2.库思维。所有的数据都是实时保存。内存与硬盘之间的数据交互。
以简单的一个软件来分析这类应用的整个编程思路,通过读取源码(source code)来一步一步分析整个过程。从元数据(元变量与函数)到系统。
先变量->函数->系统。从Templates这个文件夹开始。
一共是7个基本应用。Generic是一般的意思。或者可以套用高级语言的中 基类。
从GenericEnc开始。全局数据和函数有
一一进行分析。
先对编码器常识进行简单的介绍。
一个编码器对应程序所见就是IO.分为四种:数字输入(6),数字输出(4),模拟输入(3),模拟输出(3)。输入:编码器对于机械手臂控制器输入,输出是控制器把信号传递给编码器。
e00LatchSig:
e00Latch:
1.分辨率(Resolution)-编码器在单转时每旋转一周所输出的信号个数称之为分辨率,也称解析度、或直接称多少线,一般编码器输出线数为5~10000线。如:1024ppr、2048ppr等
特点:
1.e00Enlatch 不能手动设置为True,默认是false
2.e00EnPrest 是一个脉冲,默认值是false,当其触发时,编码器会把控制器输入给控制器的预设值变成编码器当前值。
3.e00LatchEdgFall 是上升沿还是下降沿
4.e00RstErr 是对于清空错误(重置错误)是一个脉冲,默认值是false.当触发时,控制器的当前值会变成0
latch的作用是临时锁存,当LATCH 输入有效,并行接口数据被 " 冻结",这就可防止在读的过程中数据产生变化,减少数据错误,( 特别是对二进制码 )。脉冲宽度T>100。(为了更加精确,相当于线程锁)
探测器:
1. 套接字
2. IO
套接字可以通过相机或者其他工控机或者控制器(vision),IO就是一般是光电传感器(phototcell)
其中光电传感器可以看作套接字的一种特殊形式,只有一个物体,而且形状与位置相对而言有序。因此可以强制把其位置设置为{0,0,0,0,0,0}
小记: