
什么是映射表
理解了映射,我们再来看映射表。在MixIOT 体系中,是通过一个“映射表”去描述一个映射关系的。映射表的样子就像一个矩阵,很容易理解,也很容易写,写出来是这样的:

这个很容易看明白:
· 矩阵中的第一列就是FV;
· 第二列、第三列是FV 的中英文含义;
· 第四列是这个数据的类型(STA 代表状态类数据);
· 第五列是这个数据来自哪一个数据采集终端;
· 最后一列就是这个数据所对应的采集终端的哪一个“键”。
这里有一个数据类型的概念,就是指这个FV 数据的类型。目前,在MixIOT体系中,除了STA(状态)类型数据,还有EVNT(事件)类型数据、FLT(故障)类型数据、ALT(报警)类型数据和SET(设定)类型数据。
· STA(状态)类型数据是指设备(对象)在某一个瞬间的状态,比如温度、压力、电流、电压等。
· EVNT(事件)类型数据是指在某一个时间设备(对象)发生的某个事件,比如阀门被关闭、动力被卸载、设备被停止等。
· FLT(故障)类型数据是指在某一个时刻,设备(对象)控制器自己发出的故障信息,比如传感器失效、设备卡壳等。很重要的一点是,FLT 必须是设备自己“说”的,而不是被别人诊断发现的。
· ALT(报警)类型数据是指在某一个时刻,设备(对象)控制器自己发出的报警信息,比如,压力过大,温度过高等,同样,这个也是由设备自己“说”的。
· SET(设定)类型数据是指设备(对象)中设定的参数,比如温度设定到多少、压力控制在多少等。
之所以要把数据分类,是因为它们的属性不一样,采集的方式也不一样,后续的数据处理方法也不一样,这些在本书中都会有详细的解读。我们在这里可以简单地归纳一下:
· STA(状态)类型数据,周期性采集,比如5秒一次、15秒一次、1秒5次等;
· EVNT(事件)类型数据,随时出现,随时采集;
· FLT(故障)、ALT(报警)类型的数据,随时出现,随时采集。
在写映射表的时候,需要正确地写清楚每个FV 变量对应的数据类型,否则MixIOT 体系就无法对它们进行正确的处理。
还有一个重要的概念,就是映射表中的“$”,它是代表“数据采集终端”的宏标记之一,也是用得最多的一种宏标记。每一个适配器都有自己的标识(ID),在这个例子中,假设两个适配器的标识分别为“A3012123”和“A2013133”,而我们用$D-1和$D-2分别代表这个对象所映射的第一个和第二个适配器,那么,$D-1就是标识为“A3012123”的适配器;而$D-2就是标识为“A2013133”的适配器。
在MixIOT 体系中,映射表除了$这个宏标记,还有两个很重要也很有用的宏标记,分别是“@”和“&”。宏标记“@”是用来表示这个FV 变量的值并不是来自某个数据终端的数据采集的,而是一个“同步计算”值;宏标记“&”是表示这个FV 变量的值,既不是直接来自某个数据终端的数据采集,也不是来自某种计算,而是其他的一些数据来源,如离线数据、统计数据等。
看到这里,你应该已经有所察觉了,一个对象的FV 变量,并非只有通过数据采集终端采集而来,还可以通过某种计算得来,甚至可以通过其他渠道计算得来。如果现在回头来看,为什么MixIOT 体系里面的基本单位是对象,而不是设备,这也是一个很重要的原因。设备的数据是设备的,是客观的,它是“具象”的;而对象的FV 变量是抽象的。