2025年8月28日

电子游戏是最高级的文化形式

电子游戏被称为继建筑、雕塑、绘画、音乐、舞蹈、诗歌、电影、电视之后的第九艺术,本人将视图说明为什么电子游戏是最高级的文化形式。


一、电子游戏是社会分工最复杂的文化形式

一个典型的大型电子游戏涵盖开发、营销、运营三大领域,其中在开发方面包括:策划团队、编剧团队、美术团队、关卡设计团队、动作设计团队、音乐音效团队、程序开发团队、质量测试团队、技术支持团队等,是社会分工最为复杂的文化创意活动。

在《生化危机4重制版》中,为了更出色地创作出女角色阿什莉,采用了荷兰模特Ella Freya作为脸模,爱尔兰人Coser PeachMilky作为体模,加拿大人Genevieve Buechner则是动作捕捉演员及英语配音演员,此外还有专门的中、日配音演员,最终创作出了这个出色的角色。

在《黑神话悟空》中,其音乐音效部分主要由八零八二音频工作室制作,其动画短片由Fliiip Design、润物文化、大火鸟文化、齿轮映画、狼烟动画工作室这些外部工作室制作,游戏中的壁画由外部画师王宇和王怡新创作,游戏中有大量的道具由图形科学创作。


二、电子游戏外溢了大量的技术价值

现在我们知道电子游戏玩家支撑了显卡的快速迭代、高速发展,最终大算力显卡为人工智能的快速训练提供了技术上的支撑。

现在我们知道电子游戏引擎还被广泛应用于电影、电视的拍摄,以及自动驾驶的训练。


三、电子游戏贡献了巨量的经济价值

到2024年,电子游戏产业的市场规模已经远远超过电影和音乐产业,并且还在迅速发展中。


四、电子游戏提供了宝贵的社会价值

电子游戏玩家在年轻人中占据了很大的比例,特别是很多无业、失业人员用电子游戏来打发无聊的时间,可以说电子游戏是一种特殊形式的社会稳定剂。


五、电子游戏提供了独特的文化价值

我们在《刺客信条》系列游戏中体验了意大利、英国、美国、法国、埃及、希腊、北欧、日本的风光,并借由历史人物的导游领略了各地独有的文化。

我们在《巫师》系列游戏中体验了波兰的风光和文化,并在《石之心》中沉浸地体验了浮士德的故事。

我们在《天国拯救》系列游戏中人体验了中世纪西方普通老百姓的生活。

而西方玩家也在《黑神话悟空》中体验了中式建筑和中式审美。


六、电子游戏可以表达深刻的文学主题

在《地铁回乡》中,游戏设计了独特的、俄罗斯宗教味很重的道德判断机制:游戏根据玩家在游玩过程中的行为如是否杀俘虏、是否及时救下无辜的人质等来计算玩家的道德积分,并在最终关卡根据玩家的道德积分值来决定玩家扮演角色的命运:是和家人团聚,还是成为孤魂野鬼。

在《巫师3》中,有几个相互关联的支线任务,涉及到男爵、树心妖、林中女巫,有三个结局。结局一:救树心,孤儿活,男爵死,下瓦伦村民死。结局二:杀树心,孤儿死,男爵活,下瓦伦村民活。结局三:救树心,孤儿死,男爵活,下瓦伦村民死。不管玩家如何选择,都不可能达成完美的结局。如果说选择决定了我们的命运,那么这段剧情可以说是很好的一课。


七、为什么电子游戏容易让人上瘾?

电子游戏提供了沉浸式的心流体验,很多游戏能够让玩家在短时间内迅速分泌大量的多巴胺,让玩家感到兴奋和快乐。

恰如网文取代传统文学、短剧取代传统电视,电子游戏能够受玩家欢迎,正是因为它迎合了客户的需求:在现代社会快节奏的生活中,利用有限的时间及时地提供情绪价值。

有很多传统的文化形式之所以要面临消失,正是因为它们没有认识到时代的变化、用户的变化。文化产品和其它形式的物质产品一样,要销售出去就要迎合需求。


八、游戏是人的刚需吗?

人不可能无止境地工作和学习,就象机器需要保养和维护一样,人同样需要娱乐和休息。

而心理学已经证明,不间断地专注工作并不是效率最高的工作模式,而是需要工作和休息间歇进行。

事实上,最早的电子游戏就是实验室的科学家在工作之余,在示波器上开发出的乒乓球游戏。玩得开心才得工作得认真。

在现在的中国,物质产品已经是严重过剩,文化产品也开始大量过剩,而要解决新出现的大量社会问题,相比生产,更重要的是消费,特别是文化领域的消费。

电子游戏和我们常说的三大比赛项目足球世界杯、奥运会和F1赛车一样,有下列共同点:从事人员是最专业的团队,客户群体遍布世界涵盖各年龄段,消费成本非常低,因此它们才会辐射到最广泛的用户范围。


2025年8月19日

战胜心魔何其难--《明末渊虚之羽》剧情解析有感

 终于通关了《明末渊虚之羽》,简单地梳理一下《明末》的剧情,主线是主角战胜执念心魔,从而跳出宿命轮回的故事。

游戏中推动剧情的关键道具是凿子,每一把凿子代表了一路被心魔缠绕的人马。

第一把凿子,由白父从真武观盗出,用来复活主角的弟弟,结果弟弟变成怪物,导致主角父母惨死、主角姐妹流落在外。

第二把凿子莹羽,藏在唐王行宫,主角被锦衣卫指挥使红岚战胜后,红岚带着它来到云顶城,然后云顶夫人迷晕红岚后得到凿子,她幻想用凿子创建一个完美新娘,然后让儿子寄生,希望儿子能够借此羽化成仙。云顶夫人本体是狐狸精,同样被心魔所困。

第三把凿子金羽,由大西军攻占真武观后得到,用于复活大西王,同样出自逆天改命起死回生的妄想。

第四把凿子赤羽,由明军人马所有,用于复活大明皇帝,同样出自痴心妄想。

第五把凿子青羽,由古时候赵云在扑杀羽化病时从僰人部落得到,他的部下已全部牺牲,他自己却因为凿子内附的力量得以复活,却因为仇恨的心魔四处找僰人复仇至今。

这几路人马,都妄想逆天改命,结果深陷轮回的梦魇。

此外,在背景故事上,羽人一族在杜宇的带领下融入人类部落,建立了古蜀王朝。其后族的一支僰人流落到边缘地带鸟人沼泽,其领袖僰人巫祝妄图复现祖先的辉煌,用吞食赤汞和同类相惨的方式实现返祖现象,却造成了羽化病的蔓延。

因此,剧情的主题就是心魔,这也很好地解释了满清和汉奸没有出现的原因,因为入侵者没有因为战争行为造成心魔,而汉奸跪得干脆也没有心魔。只有心里占着放不下的人或执念,才会产生心魔。


游戏之外,在现实世界线,同样也有几路人马上演心魔大戏。

第一路人马,游戏制作人,他作为魂游原教旨主义者,放不下老派魂流的玩法,但又想吃到国产游戏这个标签带来的流量,希望把游戏带到更广大的玩家群体和舆论群体面前,没想到游戏扩圈以外,很多新带来的玩家却不能接受他的游戏。后继的游戏制作人,如果要制作ARPG类游戏,必须认真地思考要参考《血缘》还是《战神》,如果要面向广大的玩家群体,必须要考虑扩圈后新手玩家的刚需:嗑药不打断、难度可选择。

第二路人马,游戏媒体从业者,他们要吃媒体营销的流量,出于此目的会对游戏的优缺点进行放大,让游戏更出圈。

第三路人马,自媒体从业者,他们不会放过任何流量带来的机会。时至今日,电子游戏产业的市场规模已经大于电影、电视、音乐产业的总和,而游戏的总成本中有近一半产生于市场营销领域,因此大量的人员受此吸引。我们可以把现实世界的流量类比于游戏中的赤汞,而流量时代谣言的传播就好比游戏的羽化病的蔓延。

心魔无处不在,念头通达者何其稀有。


2025年3月20日

谈谈LabVIEW编程软件

最近研究了几天LabVIEW编程软件,下面谈谈几点心得。


1. 基本介绍

LabVIEW是美国国家仪器公司(National Instruments)推出的图形化编程语言,LabVIEW全称是Laboratory Virtual Instrumentation Engineering Workbench,字面意思是实验室虚拟仪器工程工作台。

根据WIKI介绍,LabVIEW编程语言,也被称为G语言,是一种数据流编程语言。程序员通过绘制导线连接不同功能的节点,图形化的程序框图(LV源代码)结构决定程序如何执行。这些线传递变量,所有的输入数据都准备好之后,节点便马上执行。这可能出现同时使用多个节点的情况,G语言天生地具有并行执行能力。内置的调度算法自动使用多处理器和多线程硬件,可以跨平台地在可运行的节点上复用线程。

第一次接触LabVIEW的开发界面,给我强烈的Step7梯形图即视感。


2. 连接OPC

通过LabVIEW DSC模块(Datalogging and Supervisory Control Module),可以非常方便地建立与OPC的通信。

DSC模块包含了内置的OPC客户端和OPC服务器,其中OPC服务器是一个OEM版的Kepware。

建立类型为OPC Client的I/O Server,可以实现与本地、远程OPC Server的通信。

然后通过绑定变量实现对OPC Tag的引用。需要注意的是变量在使用时必须定义方向,即Control(输入、写)或Indicator(输出、读)。因此如果一个Tag即有读也有写操作,那么至少要引用2次。

 



3. 连接数据库

LabVIEW通过Database Connectivity工具包,连接到本地和远程数据库。

此工具包提供了一系列功能强大的工具,实现对数据的访问和各种操作。

此工具包通过ODBC实现对数据库的连接,支持主流数据库。

 



4. 报表

Database Connectivity工具包在执行查询后,可以将数据转换成数组,然后绑定到用户界面的表格控件,从而实现报表的效果。


5. 客户端

在没有安装开发环境的电脑上,LabVIEW支持两种方式的客户端。

第一种,安装LabVIEW Runtime,然后用编译生成的.EXE文件进入用户界面。这种方式客户端需要安装LabVIEW Runtime,但性能高。

第二种,将项目发布到网络服务器上,用户通过浏览器进入用户界面。这种方式非常方便,但是性能较低。

 



6. 特点

LabVIEW是图形化编程工具,低代码,容易上手。

LabVIEW套件提供了各类功能强大的工具,如 OPC Server、Web Server,开发和部署都非常方便。


7. 缺点

变量的引用通过绑定的方式实现,如果即有读又有写,则需要多次引用,较繁琐。

处理逻辑也通过图形化的方式实现,不适合逻辑复杂的大型项目(要求较高的项目管理水平)。

源代码采用二进制存储,版本控制较为麻烦。



2024年9月14日

灵蕴、内丹与香火(经济学视角下的黑神话悟空)

黑神话悟空的剧情非常繁杂晦涩,本文提供一个经济学的分析视角。

灵蕴是黑神话悟空中的基础货币,制造武器和装备都需要它。

天地间的灵蕴密集起来,就形成了碧藕等药材,是合成人间丹药的材料。如碧藕的介绍:碧藕,药材,原生十洲三岛,乃神仙之物,可用于炼制丹药。

天地间的精怪修行成妖,体内孕育出了内丹,是炼制天上仙丹的材料。如玲珑内丹的介绍:玲珑内丹,稀罕材料,天地间有强能者,以肉身为炉鼎,以精、气、神为药材,于体内聚形凝结而成的珍贵原丹,可用于炼制天上仙丹。

下面我们分别从妖、人、仙的视角来看灵蕴和内丹。

妖由精修行而来,吸收天地精华灵蕴,并凝结成内丹,而在仙的组织天庭眼里它有两大原罪:一是占用了太多灵蕴,二是保有内丹。但凡精能修行成妖,必是在灵蕴极为丰富的所在,而这种宝地是稀缺的,必定让各方势力眼热;而缺少保护的妖,体孕内丹,犹如小儿持金过闹市,正所谓和氏无罪,怀璧其罪。所以在西游记中,大妖的归宿都是被一方势力收留保护,否则难以善终。

人在红尘历练,可经修行得道成仙,人是天庭仙班的人才储备池。

人或妖,一旦成仙,可寿元绵长,但仍需继续修行增寿。仙修行的方式有许多种,一如占据宝地吸收更浓郁的天地灵蕴,二如享用蟠桃、瑶池玉液等宝物,三如进补天上仙丹。

下面我们针对这三种方式逐一分析。

其一,宝地之为宝,在于其珍稀。借鉴一下《三体》中的黑暗森林法则,“文明不断增长和扩张,但宇宙中的物质总量保持不变“,我们修改成”妖人仙佛不断修行提升,但天地间的灵蕴总量保持不变“,因此就带来了冲突,妖占用得多了,意味着仙佛未来能拥有的就少了。

其二,蟠桃、瑶池玉液等宝物也极稀缺,如蟠桃数千年一熟,需要靠天庭赏赐才能得到。因此要想享用此类宝物,就要进入天庭体制,为天庭卖命打工。

其三,天上仙丹需要用大妖内丹进行炼制,而内丹也极为稀缺,因此在黑神话悟空第四章盘丝洞剧情中,就出现了内丹孕育产业链:诱导道人吞食藕雹变身为妖,然后妖吃人孕育内丹,天庭收集内丹炼制成仙丹。也就是说,天上的仙丹,是吃人吃妖的东西。如碧藕小还丹的说明:永久增加少许生命上限的炼制小仙丹,所需灵蕴540,所需玲珑内丹3。每一颗碧藕小还丹的背后,都对应着3个大妖的性命。

再来看西方灵山佛国。佛徒修行,不靠灵蕴,而靠人间的香火念力。人信佛拜佛,则佛功德加身。黄风岭一章是黄风大圣与灵吉菩萨争夺人间香火念力的故事,小西天一章是黄眉与弥勒争夺人间香火念力的故事。天庭和妖界是竞争关系,所以天庭要灭妖;而西方和人间是客户关系,所以西方要人间信佛,而帮助除妖是说服人间信佛的重要手段,所以狮驼岭和灵山那么近,却一直没有被灵山铲平。

现在我们来看孙悟空的3个称谓:齐天大圣、弼马温、斗战胜佛。

齐天大圣是被群妖认可的,以妖的方式修行,靠吸收天地灵气增寿,不损人、妖,但是挑战了天庭和灵山,损害了仙佛的利益。

弼马温是被天庭册封的,以体制内的方式修行,靠赏赐的蟠桃、玉液、仙丹增寿,需要在天庭的指使下灭妖。

斗战胜佛是西方佛国册封的,以佛的方式修行,靠转化香火功德增寿,需要在佛国的指使下诱导人信佛。

而孙悟空这个天生猴妖,生长于花果山这个世外之地,只有在这里他才能真正自在,完全释放他的天性,完全不违背他的本心。他遵循天地之法,不与人间纠缠,却偏偏让仙佛不得安心。他若能自在修行,则万妖欢庆、人间无闻,只是仙佛却要恨得咬牙。


2024年8月9日

Manufacturing as a function

 If we treat manufacturing as a function, which definition is:

Product = Manufacturing(Man, Machine, Material, Method, Environment).

As for which, Product(final product, or semi-final product), is the output of Manufacturing.

Man, is for production line workers.

Machine, is for production line machines.

Material, is for raw component material, or semi-final product build in previous operations.

Method, is for working instruction and quality standard.

Environment, is for working environment and related preparation operations, such as preparation of tools & fixtures & measuring device, and calibration of testing devices.

Below diagram shows the process relationship of manufacturing elements.


Below table shows the layer relationship, response department(marked in parentheses), key management elements of manufacturing process.


制造这个函数

如果将制造看成一个函数,其定义为:

产品 = 制造(人, 机, 料, 法, 环)。

其中,产品(成品或半成品),是制造的输出。

人,是指一线工人。

机,是指机器。

料,是零件或上道工序制造的半成品,是制造的输入。

法,是指产品的工艺规范和质量标准。

环,是指配套的环境和准备工作,如刀具夹具量具的准备、测试设备的校准。

下图是制造过程中,各要素的流程关系。

 





下表是制造过程中,各要素的层级关系、责任部门(括号内标注)、管理要素。

 





2024年8月2日

制造数字化项目如何提升价值

近些年来,制造数字化是一个热门的话题,但是很多时候雷声大雨点小,不少项目做了大量的苦活累活,但是得到的评价却一般,从高层得到的正面反馈很有限。

在本文中,我将根据自己的开发和实施经验,以实例来介绍两种提升数字化项目价值的方法。

方法一:为更多的部门提供价值。

制造数字化项目以生产部门为主,牵涉到工艺、质量、计划、设备等部门,但是不少项目仅仅涉及生产+1个其它部门的合作,因而影响就非常有限。我们在设计和实施的过程中,应该尽可能考虑其它部门的潜在收益,为更多部门提供价值。

方法二:为更高层的管理人员提供价值。

制造数字化项目往往从日常的运营入手,会产生大量的流水明细数据,我们需要将这些数据进一步挖掘分析,生成高层更关注的数据如:OEE、投资回报率、运营成本支出、周转率、一次性通过率等。


下面以两个例子予以说明。

第一个例子,开发机加车间质量检测管理的功能模块。

其主要业务流程为:

1) 工人在加工某些产品的首件时,根据质量规则将产品送检。

2) 质量实验室进行检测,完成后记录检测结果,并通知工人。

3) 工人根据检测结果进行后续作业,如合格则继续生产,如不合格则停止生产。

我们可以看到,作业流程仅限于生产部的机加车间和质量部的机加小组之间,不被其它部门知晓;此外,业务流程记录的数据都是日常流水明细数据,也不会被更高级别的管理人员关注。

那么我们根据上述的两个方法来提升价值。

首先我们将计划部门加入流程。由于生产由工单驱动,而产品在检测时生产被中断,很显然会影响工单的执行,因此我们在设计这一功能时,增加工单的信息(可以人工输入,或者由系统自动抓取),然后在工单实时分析页面提供对应的检测信息,因而计划员得以了解检测作业对工单执行的影响。

此外,我们还可以将检测结果数据加入质量一次性通过率分析的计算,为质量总监和生产总监提供机加车间的一次性通过率分析报表。

此外,我们还可以通过记录的历史检测时间信息(产品开始检测时间、产品结束检测时间),计算得到产品的平均检测时间,并为工人和计划员提供预估的检测结束时间数据,以提升现场的作业效率和作业透明化。


第二个例子,开发机加车间的刀具管理功能模块。

其主要业务流程为:

1) 从刀具库领取刀具零件。

2) 组装刀具。

3) 将刀具组件安装到机床。

4) 将刀具组件从机床卸下。

5) 将刀具拆成零件。

6) 将刀具零件退回刀具库。

7) 外协修刀。

8) 刀具零件报废。

9) 采购新的刀具零件。

其主要作业都是在生产部门下属的机加车间下属的刀具小组内部进行,通常刀具库也由此小组内部管理。

那么我们还是根据上述两个方法来提升项目的价值。

首先让更多部门来看到这个功能。这些流程涉及两个外部部门:计划部和采购部。计划部下发工单来驱动机加车间的生产,而刀具的领取、组装、安装都是生产的前置准备作业,同样由工单驱动,同样会影响工单的执行。

我们在设计相关的功能时,把工单信息加入相关作业流程,由工单开始状态来驱动第1、2、3流程,由工单完成状态来驱动第4、5、6流程。

这样,我们可以在工单实时分析页面提供对应的流程信息,因而计划员得以了解刀具相关作业对工单执行的影响。

此外,通过数据化管理提升刀具的利用率和周转率,我们可以为管理层提供更多维度的报表如:刀具周转率报表、刀具月度采购金额报表,从而理解项目的投资价值。


2024年7月24日

大学志愿填报的分享

儿子刚刚考上了理想的大学和专业,高兴之余,我准备将之前准备的志愿填报相关的信息在网上分享,但愿对有缘之人有所帮助。

1. 什么时候确定专业方向

理想的时间是高中分班前就要明确大学的专业方向。

高中分班后要文理分科,而很多专业只有高考时考了物理、化学才能录取。

此外浙江是自由选科,3门必考加3门选考,一些考生只选考了自己的优势科目,这就造成了大学录取的限制。比如有的考生觉得物理太难,因而放弃选考,这样他就无缘考计算机、电子信息类专业。


2. 选择志愿的要素之地区

地区是选择志愿时的一个要素。

比如浙江只有浙大一所985、211,而之后的学校如浙工大、杭电、宁大就隔了一个比较大的分差,因此有不少分数在这之间的考生会考虑选择外省、特别是偏远地区的985、211。这时就应当考虑取舍了。

就重要的是要先明确将来的就业地区,是回本地,还是在学校所在地就业。

如果到外地上学,然后回本地就业,那么主要借助学校的名头和学到的知识,而同学的资源、导师的资源就借用不上了。

如果到学校所在地就业,那么可借助学校、导师的资源帮助就业,但是刚毕业时生活压力较大,衣食住行等各项开支较多,不能蹭家里的光。

当前的经济形势较为严峻,如果不能借助家庭资源,建议今后就业优先选择长三角、珠三角大中城市,不建议在边远地区就业。


3. 选择志愿的要素之学校

所谓大学文凭是敲门砖,在好的学校里导师就有不少优质资源,校友会也能进行资源共享。

而一般的学校各类信息较多,令人眼花缭乱,很难辨别。

这里我介绍一种更靠谱的方式:打开教育部官网moe.gov.cn,搜索关键字“全国普通高等学校名单”,在搜索结果页选择筛选条件“excel”,然后可以得到各版的全国高等学校名单,如最新的是2024年版本,将EXCEL文件下载到电脑,然后打开进行进一步的分析。

在学校名单里,每个学校包含了下列信息:序号、学校名称、学校标识码、主管部门、所在地、办学层次、备注。这里特别提醒的是“办学层次”、“备注”这两项。

办学层次主要是说明本科还是专科,本科说明此学校具有本科办学条件,但是不排除某些专业是专科设置,如2023年浙江水力水利大学,其软件工程专业是本科,而计算机科学专业是专科。

“备注”一栏,如空白则说明学校是公办,如备注“民办”则说明是民办。有的学校本身是公办,但是不排除下级学院是民办,如2024年浙江工业大学是公办,而浙江工业大学之江学院是民办。

此外,有些学校以优势专业知名,如在浙江,除浙大外,工科综合选浙工大,计算机单科选杭电,学医一般选温州医科大学,师范一般选金华的浙江师范大学,文科选浙工商。


4. 选择志愿的要素之专业

除了名校以外,专业对学生的就业影响最大,因此大家对专业的分析也最为看重。

其实对各学校各专业的教学质量,有一个很客观公正的方法,就是看教育部组织的学科评估。

打开“教育部学位与研究生教育发展中心”网站cdgdc.edu.cn,点击菜单“主要业务”》“学科建设”》“学科评估”,就进入第四轮学科评估结果页面。选择专业大类、小类、学校,就可以看到对应学校、对应专业的评估结果。评估分数等级有:A+、A、A-、B+、B、B-、C+、C、C-,如果名单里没有学校则说明该校未上榜。

此外,这几年因为各种原因,不少学校对专业名称进行美化包装,如“智能制造”就是以前的“机械设计”,“智能建筑”就是以前的“土木工程”,“信息工程”就是以前的“电气与自动化”,课还是那些课,老师还是那些老师,新瓶装的还是旧酒。

另外,专业大类下的专业小类也要小心甄别,如计算机大类通常有以下4个小类专业:计算机科学、软件工程、计算机网络、计算机安全。通常来说,计算机科学和软件工程的学生更加对应于大家对“码农”的认识,这两个专业的大部分课程重合,只不过计算机科学更侧重于开发,而软件工程更侧重于实施。而计算机网络和计算机安全更加侧重于硬件、网络,就业方面比前两个专业要窄得多。此外,与计算机沾边的另两个专业:人工智能、大数据,不建议普通考生选,因为就业面非常非常窄,通常只有名校的博士生才能找得到好工作。

另外一个因素就是学校专业有没有硕士、博士点。这两年因为就业困难,有不少毕业生选择继续深造,而在本科读硕读博要相对容易。这方面的信息通常要在学校官网、专业对应的学院介绍信息里。

如查询浙工大计算机硕博点,方法是浙工大官网》学校概况》组织机构》教学机构》计算机科学与技术学院》学院概况》学院信息》学院简介,里面有相关硕博点的设置说明。


5. 怎么判断自己的录取区间

志愿到录取的过程,其实是考生和学校、考生和考生之间进行动态博弈的过程。

除了分数以后,影响录取的主要因素有哪些呢?

首先看排名,其实排名比分数重要。不仅看今年的排名,而且要看意向学校意向专业前两年的排名,看看有没有变化的趋势。总的来看,这两年大家选择专业时更加保守,志愿进一步向就业热门专业集中,因此要根据变化趋势进行针对性地调整,如某校某专业2022年最低录取名次是24000,2023年是23000,那么很可能2024年在22000名以内。

第二看招生人数,假如某校2023年计算机科学按小类招生,其中计算机科学23000名,软件工程23300名,计算机网络23800名,计算机安全24000名,而今年按大类招生,那么很显然录取名次会低于23000,会接近计算机安全的传统录取线。

第三看选科。有一个数据,2024年浙江39万考生中,只有11万人选考了物理、化学,那么就有28万考生将无缘计算机类、电子信息类等工科专业。而选政治、历史的考生都是约16万。因此大的趋势上理科录取分相对较低,文科录取分相对较高。因此考生及家长在高一就要认真考虑高考志愿的问题,并在高考前留心媒体上透露的选科信息,从而在填志愿上更加主动。


2024年4月23日

汽车漫谈之汽车安全、汽车质量、汽车成本

最近有不少朋友与我谈起汽车相关话题,基于我有多年汽车制造行业相关经验,我想写篇漫谈类的文章,以普及一些基础知识。

主题是汽车安全、汽车质量、汽车成本,供大家购车、用车时参考。

首先谈谈汽车安全。

汽车安全分两大类,主动安全和被动安全。

所谓主动安全是指采取措施、尽量避免事故的发生;被动安全是指在事故发生后,尽量减小对人员的伤害。

被动安全的典型例子是轮式车身、安全气囊、安全带,评价一款车被动安全的客观标准是它的“车内乘员安全分指数”项碰撞成绩,G代表优秀。可以从中保研的网站上查询车辆的碰撞成绩。

从网上的车辆事故报道中,我们也可以了解到车辆的安全情况,车辆安全的特征是: 在碰撞事故后ABC柱无明显变形,驾驶室车门能打开,安全气囊打开。

在零件物料方面,为保障安全,通常需要车辆钢板有足够的厚度,重点部位有加强肋板或加强筋。

在装配工艺方面,有两个重要工艺对安全有重大影响: 车身钣金件焊接合格、致密、均匀,零件拧紧装配时合格、合理。

车辆品牌方面,沃尔沃是最注重安全的品牌。

车辆类型方面,SUV比轿车安全。

同品牌同类型车辆,一般而言车辆越重越安全。

比较而言,新能源车的电池安全是一个令人担心的点,不知道以后会不会有针对电池的碰撞或破坏测试。

主动安全近几年提得比较多,相关的车辆配置也较多,如ABS、ESP等。

评价汽车主动安全的客观标准是车辆的极限刹车距离。

汽车设计方面还有两个经典的主动安全设计例子: 汽车出风口打到挡风玻璃位置时会自动打开空调以提供除雾功能,后视镜往下翻会切换到炫目模式。

此外,司机的防御性驾驶也能够提升主动安全。


再来看汽车质量。

两大关键因素: 零件采购质量、整车制造质量。

通常在国内整车厂,一个零件会有两到三个供应商,既包括国际一流大厂,也包括国内二三流小厂,两者的质量水平、采购价格会有较大的差异。

而新厂、新车的制造水平有一个爬坡的过程。

因此,有一些厂商采用了以下的策略: 在前期产能较低,工艺水平相对低,采用国际一流大厂零件以保障零件质量; 在后期产能提升,工艺稳定,采用国内小厂零件以节约成本。

影响质量的因素包括人机料法环,人即人员(包括工人、工程师、管理人员),机即机器设备,料即零件及工具,法即法规(包括制造工艺流程和质量校收标准),环即环境如温度湿度地面平整度等。

以法为例,假设同一个代工厂为两个品牌制造同类型的产品,采用同一组人员、同样的设备、同样的零件、同样的制造工艺、同样的环境,但是A的验收标准高于B的验收标准,就会造成A的良品率低于B的良品率。


再来看汽车成本。

从厂家方面看来,汽车成本包括设计成本、制造成本、营销成本、售后成本,这些成本最终体现在车辆的销售价格和服务价格上面。

从消费者方面看来,汽车成本主要包括购车成本和用车成本。

近几年由于新能源车的发展,购车成本和用车成本比较以前都有了较大差异。

我的建议是从完整的用车周期考虑汽车成本。

购车成本包括裸车价、各项税费、补贴。比较而言,新能源车裸车价较贵,但是有补贴,而且在部分城市可以省下买车牌的钱。

用车成本包括: 加油或加电、保险、保养、维修、二手车保值率。

比较而言,新能源车加电比加油省钱得多,但是保险费较贵,保养费则较省。

维修方面,采用大压铸技术的车身维修费较高,雷达、摄像头、感应器越多的车辆维修费越高。也可以参考中保研碰撞成绩的“耐撞性与维修经济性分指数”,此项分数越低则维修越费钱,保险费越高。

保值率方面,新能源车比汽油车掉得快。

我们在购车前,建议理性地从用车周期完整地估算用车成本,从购车到弃车(报废或转让)完整地计算各项费用。


2024年4月8日

ARPG游戏三大要素:故事、情感、陪伴

我最喜欢玩的游戏类型是ARPG。

分析了几个我最喜欢的游戏,我发现了它们的共通之处:一个引人入胜的故事,一段动人心魄的情感,一段并不孤独的旅程。

RPG游戏的基础是故事,所谓角色,是为故事设计的,玩一个RPG游戏,就好比跟随主角穿越到一个异世界,体验一个异乎寻常的故事。为了这个故事,游戏会制作出一个与之配套的世界,以及在这个世界生活的NPC。此外,游戏通常会设计一个大故事与一个小故事,大故事是影响游戏世界与NPC的重大事件,而小故事与主角密切相关。如在《巫师3》中,大故事是白霜灭世的危机,而小故事是拯救女儿。大故事让我们沉浸入游戏世界,而小故事让我们与主角建立连接。

出色的游戏同样让我们在情感上建立连接。许多玩家在通关《巫师3》或《荒野大飙客2》时会有一种虚脱的感觉,这是因为他们与游戏的情感纽带连接得太牢固了,一旦脱离会觉得难以接受。让玩家在情感上付出,这是游戏建立沉浸感的另一个重要因素。比较而言,《地平线》同样也讲了一个好故事,但是我无法在情感上建立连接,因为主角与NPC的情感交互太少太浅,无法让在情感上打动我们。

单机游戏的玩家是孤独的,但是好的RPG游戏会安排一些NPC,陪伴我们走过这个旅程,如《生化奇兵3》的伊丽莎白是如此地生动,甚至于一些玩家在二周目打到海滩就停止了,好让她永远绽放在那个美丽的瞬间。那些在游戏史上留名的NPC,不仅在感情上打动我们,而且陪着我们一起做任务,一起度过这些难忘的旅程。为了加强玩家的情感体验,游戏甚至在一些特殊的时期强制玩家与NPC同伴分开,从而在重聚后让人更加珍惜与同伴的感情。

下图是我根据自己最喜欢的几个ARPG游戏做的一个表,体现了这3个要素的重要作用。




2024年3月13日

世界的本质是个草台班子

前一阵子的两件事,让我不禁感慨: 世界的本质是个草台班子。
第一件事是看到新闻说,波音公司因为政治正确赶跑了资深的空气动力学专家。
第二件事是看韩国电影《首尔之春》,没想到军事行动也可以这么草率。

回想我职业生涯的经历,似乎也可以作为这个结论的佐证。

A公司是行业领袖,其MES系统被评为首批工业4.0灯塔工厂。但是在锦绣包装下面,也填充了不少烂稻草。我记得用户汇报过一个问题,其个工单的验证出错,我检查了工单验证的逻辑,发现了一个不可思议的SQL查询: 100多行的SQL,没有任何注释,没有格式,没有规范换行。我把这个SQL拆分成10多个视图,才逐渐理解了其中的逻辑,找到了问题所在。造成这个问题的根源是: A公司把开发外包给印度T公司,T公司非常注意文档的规范,但在代码层面放飞了自我。

B公司是行业的奠基者,需要将北美的生产调度系统引进中国,此系统的重点是PLC控制逻辑,基于AB PLC开发,而在中国工厂采用了西门子PLC,因此需要进行代码迁移。此外,北美PLC只控制一个工作站,而中国PLC需要控制多个工作站。B公司将迁移和本地化开发的工作开包给一家小公司。我建议搭建测试环境,以尽可能及早发现问题,但是项目负责人说不用,说人家是专业的,之前从没有这么做。结果上线部署的时候傻眼了:项目包太大,超出了PLC的容量。结果这件事情层层升级,最终由公司中国区CEO联系西门子中国区CEO,从别的客户手里暂时调用319F PLC,以解决容量的问题。最终项目交期超出了一个多月后才具备初步上线的条件。

C公司的安灯系统在业内非常知名,我接到的任务是借鉴其功能,将其实现并应用到中国工厂。我在考察C公司工厂时发现其用了软件PLC而不是通常的硬件PLC,也就是说其PLC功能是安装在WINDOWS PC上通过专用软件实现的,因此稳定性方面远不如硬件PLC,原因是项目包太大,普通PLC下载不了。得到其项目包后我才知道原因:有太多遗留设备需要兼容,相同功能不同产线采用代码复制的方式实现,所有I/O参数采用硬代码实现。我和同事研究以后,采用了以下的优化方案: 用符号寻址代替编号寻址,功能模块用配置的方式调用,I/O用配置表进行映射,用中间表+FC的方式做到功能模块的抽象实现,不同的产线调用相同的FC。经过以下优化后,项目包可以下载到硬件PLC,而且还有多余的空间存储调度系统的项目,并且能够缓存2小时的工单数据、生产记录。


2024年2月28日

Thingworx连接Access数据库

最近在研究Thingworx中连接Access数据库的方法。

PTC官方建议的方法是搭建Thingworx Edge,然后在Edge中安装ADO Service connectivity,此方法非常地烦琐,也缺少这方面的文档。

于是我另外尝试了几种方法。

方法1:通过SQL Server连接Access数据库。

SQL Server中可以通过Linked Servers连接外部数据库,如SQL Server、Oracle、Access等。

通过使用对应的Provider,可以将外部数据库映射到本地。

对于连接Access数据库,可以使用MS Office 12.0 Access DB Engine OLE DB Provider或Microsoft OLE DB Provider for ODBC Driver这两个Provider。

我测试发现ODBC的方式失败。

而在测试MS Office 12.0 Access DB Engine OLE DB Provider时我发现有2个限制:必须使用SQL Server正式版(Express版本失败),Access数据库不能使用密码。如果数据库没有此Provider则需要安装Microsoft Access Database Engine。

建立Linked Server之后,我们可以将Access的表映射到SQL Server的视图,这样处理之后就可以象本地的对象一样使用了。


方法2:在Access中连接SQL Server。

这个方法最简单,很容易实现,也支持 SQL Server Express。

缺点是只能单向从Access向SQL Server读写数据。

如果我们希望通过SQL Server查询Access中的数据,则需要在Access中编写查询语句,手动将Access数据同步到SQL Server,然后在SQL Server查询本地表。


方法3:通过Kepware ODBC Driver进行数据转换。

Kepware的ODBC插件能够将ODBC数据库中的数据直接转换成OPC Tag,结构为:表Tag Group >> 字段Tag Group >> 记录Tag。

如果我们仅仅是读写特定表、特定字段的特定行,则可以用这种方式从Thingworx中读写数据。

如果涉及到大数据量、较复杂的查询,则这种方式不合适。



2023年12月4日

Pico VR的高级玩法

 本文将以Pico Neo 3为例,介绍Pico VR一体机的高级玩法,包括但不限于:使用普通帐号播放爱奇艺电影、播放P站视频、玩节奏光剑歌曲、外接XOBX游戏主机、玩XGPU云游戏等。

1. 基本概念

目前市面上大部分的VR一体机是采用安卓系统的,Pico VR也是如此,而Neo 3最新的系统对应的Android版本号是10。

因此安卓设备(手机、平板、电视)上的应用理论上都可以安装到Pico VR上,只是并不一定100%兼容。

我们可以通过VR自带的浏览器去搜索、下载,然后用VR“文件管理”APP在“全部文件>Download”目录下找到下载的文件,然后进行安装。

VR自带的浏览器也非常强大,它自带3D VR视频的播放功能,如进入B站后,搜索“3D VR”就可以看到很多的VR视频,可以在线播放。

2. 观看爱奇艺、B站、P站视频

Pico VR支持“爱奇艺VR”APP,里面有大量的3D VR视频,但是需要开通VR专用会员,普通的爱奇艺会员是不支持的。

但实际上如果我们已经有爱奇艺会员,而且只是看普通2D电影的话,那么根本就不需要安装此VR版本的爱奇艺。

用浏览器进入爱奇艺网站,点击右上角的“客户端”,我们可以看到有移动端APP、PAD版APP、电视版APP(奇异果),这3个版本的APP都可以安装到Pico VR上,但是操作方式有所差异,对手柄的支持也不相同,我们可以把3个APP都安装尝试一下,然后找到最适合自己的那一个。

此外,我们还可以直接在VR自带的浏览器里登录爱奇艺网站,在线播放想看的电影。浏览器的地址栏有一个图标,点击可以在“电脑模式”和“手机模式”之间进行切换。

同样的道理,我们可以选择移动版、PAD版、电视版的B站APP。

我个人的最佳实践是用奇异果APP看爱奇艺电影、用移动版APP刷B站、用浏览器看B站的3D VR视频。

我们也可以用浏览器看P站的视频,P站有大量的4K VR视频,打开后选择VR模式,一般是180度、左右VR。但是需要科学上网工具,这里就不具体说明了。

3. 玩节奏光剑歌曲

节奏光剑是VR平台上最流行的应用,甚至可以说它支撑起了半个VR行业。

但是节奏光剑是Meta VR独占的。如果没有Meta VR设备,我们还可以通过PS VR玩,也可以通过电脑串流玩Steam版本,但是这样都需要额外的硬件和花费。

其实在Pico VR上有一个非常简单的办法玩到节奏光剑的歌曲。

首先我们购买“光之乐园”应用,它能够兼容节奏光剑的曲谱。

然后我们用浏览器打开这个网站:beatsaver.com,它是开源的节奏光剑曲谱共享网站,输入关键字搜索自己想要玩的歌曲,通常评分在80分以上的歌曲效果都是不错的,此网站还显示难度级别,还支持预览。点击下载图标,将歌曲下载到本地Download目录,但是文件格式是.zip的压缩包。

此时我们需要用ES文件浏览器APP将歌曲解包,从estrongs.com网站进行下载。

打开ES文件浏览器APP后,进入Download目录,选择歌曲文件>更多>解压到,将文件解压成一个文件夹,再将此文件夹复制或移动到节奏光剑的自定义曲谱目录,地址是:

Android>data>com.StarRiverVR.LightBand>file>CustomMusic,对应于节奏光剑里面的世界曲库>本地曲库>自定义这个位置。

4. 外接XBOX主机

经实测,我们可以将PC或XBOX的画面输出到Pico VR上,但是PS5不行,下面是具体的方法。

在京东上搜索“绿联HDMI转C”,购买HDMI转Type C数据线,HMDI口接主机,C口接VR充电口,连接后此线将被VR识别为视频输入采集设备。


然后我们在VR端通过浏览器搜索并安装“USB摄像头”APP,此APP通过采集主机通过HDMI传输的视、音频信号,支持1080P 30帧、720P 60帧,但略有延迟,经实测,玩FIFA23、RPG游戏非常流畅,但是玩FPS、赛车游戏延迟较明显。

由于此APP同时还采集音频信号,我们还可以将主机声音输出到蓝牙音箱。

5. 玩XGPU云游戏

我们也可以通过Pico VR浏览器直接玩XBOX XGPU云游戏,前提条件是:有XGPU帐号、有加速器会员。

具体方法如下。

首先我们下载XBOX GAME PASS APP,打开浏览器,进入B站,搜索“游戏早知道”用户,在其用户首页下搜索“game pass app下载”,在其动态下找到最新的XBOX GAME PASS APP下载地址,下载并安装此APP。

然后在UU.163.COM下载并安装UU加速器,安装后UU加速器将自动识别XBOX GAME PASS,手动将区服选择为“云游戏”,点击后加速器将自动定位到支持云游戏的区服,并进入 XBOX GAME PASS的首页及云游戏的分页。我们可以将XBOX手柄通过蓝牙连接到VR上,然后通过云游戏玩游戏。

经实测,玩FIFA23非常流畅,玩战地1也非常流畅,玩恐怖游戏如恶灵附身2也非常流畅,但是玩赛车游戏会有加载不及时的情况。

2023年4月25日

把REST API的JSON数据导入EXCEL

//Excel loads JSON data from REST API

//Data >> Get Data >> From Web >> Advanced Editor

let

    url = "yourAPIaddress",

    //Assemble Headers

headers = [

#"appKey"="yourAppKey",

#"Content-Type"="application/json",

#"Cache-Control"="no-cache",

#"x-thingworx-session"="true",

#"Accept"="application/json"

],

    //Assemble Input data

input1name = Excel.CurrentWorkbook(){[Name="Input1"]}[Content], //Input1 is the named range for parameter1

input1value = input1name{0}[Column1],

input2name = Excel.CurrentWorkbook(){[Name="Input2"]}[Content], //Input2 is the named range for parameter2

input2value = input2name{0}[Column1],

postData = Json.FromValue([dataType=input1value, durationFilter=input2value]),

//postData = Json.FromValue([input1="A", input2=123]),

//Post data

    response = Web.Contents( //post data

        url,

        [

            Headers = headers,

            Content = postData

        ]

    ),

    //Get result data

jsonResult = Json.Document(response),

//Get actual data list

QueryResult= Table.FromRecords({jsonResult}, {"rows"}),

//Expand rows

    ExpandRows = Table.ExpandListColumn(QueryResult, "rows"),

//Convert rows into flat Table

    QueryResultExpanded = Table.ExpandRecordColumn(ExpandRows, "rows", 

{"dateType", "duration", "createdon"}, 

{"dateType", "duration", "createdon"}),

    //Convert data type

#"Changed Type" = Table.TransformColumnTypes(QueryResultExpanded,{{"dateType", type text}, {"duration", type number}, {"createdon", Int64.Type}}),

    //Convert Datetime column

#"Added Custom" = Table.AddColumn(#"Changed Type", "createdon2", each #datetime(1970, 1, 1, 0, 0, 0) + #duration(0, 0, 0, [createdon]/1000))

in

    #"Added Custom"

2023年2月4日

《流浪地球2的中国味道-传承

今天二刷了流浪地球2,特意找的IMAX厅,找了个好位置,看到、听到了很多以前没有注意到的细节。

这里主要讲2点,一是MOSS这条暗线,二是中国味-传承。

现在我们都知道电影有3条明线1条暗线,明线分别是刘培强线、图恒宇线、周喆直线,暗线是MOSS线。在影片的结尾揭露了MOSS这条线,但其实这条暗线从头到尾都有贯穿,只不过MOSS线是通过画面和声音暗示的:每次MOSS要干涉人类的历史时,就会出现闪烁红色摄像头的镜头,就好像MOSS在呼吸,同时伴随着“咚...咚...”的背景音乐。这也是电影作为声光结合的艺术表现形式所特有的,剧情不白给,但是始终在提示、始终在推进。

另外在二刷时,我领会到电影特别有中国味道的原因之一:强调了传承这一特别有中国特色的文化。

中国人在讲文化时,特别强调传承,或者说薪火相传,这一点在3条线时都特别强调。

首先是刘培强线,他的故事体现了他与师傅的精神内核的传承,这一点让人想起第一部父子之间的传承。第一部讲述了儿子怎么理解父亲,最终传承了父亲的精神。而第二部则是师傅与徒弟之间的传承,或者说一代又一代人的传承。

而周喆直的线更加明显,是周与他的继任者赫晓晞之间的传承,强调领导人对责任的承担;此外,周的服装还让人想起周总理,暗示领导阶层从过去到未来的传承。

另外就是图恒宇与丫丫的传承,或者说实体人与数字人的传承。MOSS很早就有了自我意识,但是它始终以理性逻辑来思考一切;丫丫的接入让它对人性有了进一步的了解,但是丫丫毕竟还是一个孩子;而当图恒宇上传后,它对人性的理解更全面了。图恒宇为了孩子、为了人类甘愿牺牲自己,刘培强在选择地下城名额时把病重的老婆排在丈人的前面,周喆直在网络还没有完成恢复时决定点火,这些都是不符合理性的,但它们是合乎人性的抉择,正如希望从来不是理性的,但人类选择相信。所以MOSS说图恒宇是一个变量,在MOSS纯粹理性的分析时加入了一个人性的变量。图恒宇在上传后,做出了和实体人一样的抉择,这意味着从实体人到数字人的传承。


2023年2月2日

Thingworx Study of Thing Persistent & Logged

 

1      Study of Persistent

According to Thingworx help document:

(

Persist— If selected or set to true, each value change is persisted to the database. Persistent property database writes occur asynchronously to avoid deadlocks. While the property value is set immediately, the database write occurs asynchronously at a later point in time.

Updates and restarts do not affect queue processing.

)

The persistent data are stored in Table of property_vtq.

Each time the property value is changed, the related Database record will be Updated.

This Table only has 1 index of “id” & “name”, so Update operation will NOT require change of Index.

tallrain_0-1675304973242.png

 

 

As explained above, value change of persistent property triggers Update of property_vtq Table.

We need to check property feature before we set it.

For normal properties, it’s OK to enable it.

But for frequently changed properties(such as speed, temperature), it’s NOT recommended to enable it, otherwise there will be too many Update operations in Database, which will impact Database performance.

 

2      Study of Logged

According to Thingworx help document:

(

Log— If selected or set to true, the property value is automatically logged to a value stream when the data changes (based on the data change type).

)

And logged data are actually written into Thing’s linked Value Stream.

And for Value Stream:

(

ThingWorx value streams provide time series information about a Thing’s property values.

)

The data of Value Stream are stored in Table of value_stream, with Procedure of upsert_value_stream_entry.

Each time logged value changes, a new record will be Insert into value_stream Table.

The Table has 1 index of most columns, so the Delete operation will also trigger change of Index.

tallrain_1-1675304973251.png

 

 

The Value Stream is configured with a Persistence Provider during creation.

And for Persistence Provider:

(

In ThingWorx, value streams, streams, data tables, blogs, and wikis are data providers. Data providers are databases that store run time data. Run time data is data that is persisted once Things are composed and used by connected devices to store their data (such as temperature, humidity, or position). Model providers are used to store the metadata for the Things. Persistence providers are initially set to have one database for model providers and data providers, but administrators can separate them based on requirements.

)

Thingworx has Model Provider and Data Provider.

Model Provider is used to define models, it always use internal Database which is configured during installation.

Data Provider is used to store data, it can use internal Database, and it can also use external Database as second Data Provider.

tallrain_2-1675304973266.png

 

 

The Logged data are Inserted into value_stream Table.

The logging operation is very different than the other operations from perspective of Database.

In most cases, data are more Read(Select) and Less Write(Insert/Update/Delete).

But for value stream data, there’re more Write(Insert) and less Read(Select).

So it’s much better to setup 2nd Persistence Provider mapped to external Database, and use it to store Value Stream data.

PTC document link:

https://community.ptc.com/t5/IoT-Tips/How-to-set-up-a-second-Persistence-Provider/ta-p/820508 (How to set up a second Persistence Provider - PTC Community)

Any Database supports Thingworx installation can be used to build 2nd Persistence Provider.

Key note is that we must build all Thingworx build-in Database objects before we create new Persitence Provider inside Thingworx.

2023年2月1日

工业软件介绍系列之三:PLC与OPC

 PLC(Programmable Logic Controller,可编程逻辑控制器)是现代工业控制的核心。

下面简单介绍一下PLC的发展历程。
1968年,通用汽车公司招标新式设备,用于取代传统继电器,以提升产线调整、设备检修时的效率。1969年Modicon公司交付了其第一件PLC产品,并于1979年发布了Modbus通信协议。Modicon后来成为施耐德公司旗下PLC品牌。
此外,Allen-Bradley公司也参与了PLC的早期发展,其PLC后来成为罗克韦尔旗下AB PLC。
除了Modbus外,PLC流行的通信协议还有Profibus和Profinet。
Profibus在1987年由德国西门子等公司及机构所推动,Profinet继承自Profibus,并于2002年发布Profinet CBA标准。

接下面简单介绍一下OPC。
OPC是PLC与IT系统通信的桥梁,将PLC处理的数据转变成IT系统能够直接使用的变量。
OPC有两个发展阶段。
阶段1是OPC DA,OPC代指OLE for Process Control。
阶段2是OPC UA,OPC代指Open Platform Communications。
其中,OPC DA基于微软的OLE(对象链接与嵌入)、COM(组件)、DCOM(分布式组件)开发,于1996年发布最初版本。所以说,在工控领域,微软Windows是真正的生产力工具。
西门子等PLC大厂都有自己的OPC产品,但是现在最流行的是Kepware公司的通用OPC Server,其兼容大多数主流型号的PLC。Kepware于1995年成立,于2016年被PTC公司收购。

这篇短文又出现了施耐德、罗克韦尔、西门子、微软、PTC等行业大公司的身影,而且我们还看到,最适合中国工业软件厂商学习的PTC,也在通过收购Kepware来介入物理世界,以巩固自己的基础。

工业软件介绍系列之二:谈谈PLM

 PLM全称是Product Lifecycle Management,即产品生命周期管理。

为什么要专门定义一个系统来管理产品生命周期呢?
如果说CAD的基础是数学,有大量的算法,那么PLM主要是提供了一种工具,来实现精细化管理。

PLM的核心功能包括:
1. 产品的主数据,如名称、版本、类型、生效日期、失效日期。
2. 产品的状态或生命周期。
3. 产品的文档,如CAD模型、工艺文件。
4. 产品的相互关系即BOM。

在大型公司,不少产品面向多个地区销售,那么可能会执行不同的法律法规和质量标准,因此对应的零件会有差异,因而产品的BOM实际上是动态的结构。
产品的生命周期包括设计、验证、试生产、发布、失效等阶段,其对应的BOM也有差异。

在制造领域,就有EBOM、MBOM、PBOM、SBOM等。
EBOM是Engineering BOM,即工程BOM,体现了产品在工程上的结构。
MBOM是Manufacturing BOM,即制造BOM,体现了产品在制造上的需求,如区分制造件和采购件。
PBOM是Process BOM,即工艺BOM,将MBOM进一步细分到作业单元和设备,以及对应的工艺参数等,对应的系统有PTC Windchill MPMLink。
SBOM是Software BOM,即软件BOM,是需要在出厂前烧录入各控制单元的软件清单,对应的系统有PTC Integrity。

目前在国内汽车行业,应用最多的PLM系统是PTC Windchill和Siemans Teamcenter。
Windchill成立于美国,1998年被PTC收购并发布4.0版本,之后大约一两年发布一个大的版本。

而Teamcenter的故事大有不同。
Teamcenter的前身UGS,最初是United Computing公司的CAM产品,名为UNIAPT, 包含部分PLM功能,于1969年成立于美国加州。
1976年,麦道公司收购United Computing。
1991年,EDS公司收购麦道公司的系统集成组,包括United Computing,并将相关产品命名为Unigraphics Solutions。
2001年,EDS公司收购SDRC公司,组成Unigraphics PLM Solutions事业部。EDS的IMAN合并SDRC的Metaphase,更名为Teamcenter。
2007年,Siemens收购EDS,并将其PLM产品更名为Siemens PLM software。
之后,Siemens又陆续收购了Innotec、Vistagy、Elan、IBS等公司,以扩展其PLM产品线。

我们可以看到,Windchill是一个典型的美国软件公司的产品,而Teamcenter脱胎于CAM,是一系列各自发展的多个产品的组合,其面向不同行业有不同的解决方案。

游戏中的情感驱动

 听闻《神秘海域》电影版将上映时,我非常激动,因为它改编自电影《神秘海域4》,而此游戏给我带来了许多快乐的时光。

但是看过电影后就很失望,感觉就一纯粹的爆米花电影。
之后又玩了《失落的遗产》,也非常失望,和《神秘海域4》差距巨大。
后来我思考了一下,我想《神秘海域4》有贯穿始终的情感驱动,这才是它令人难忘的缘故。
游戏的大部分时间内,以兄弟两人的感情穿插其间,有起有伏,结尾又有夫妻同心合作,甜蜜温馨。
象《古墓丽影》的故事和《神秘海域》非常相似,但是就没有后者打动人。

我又想到玩《最后的生还者》的体验,在第一部中,乔尔和艾莉在旅途中渐渐生出了感情,不是家人胜似家人,给我留下了很深的印象。
而在每二部中,主角与其他几个NPC的感情就很浅,没有打动我的地方,仅仅是一个探险故事而已。

仔细想来,有很多记忆深刻的游戏都有两个共同点:有引人入胜的故事,有令人共鸣的情感。
比如《巫师3》的主线是救女儿,有大量和女儿、情人、基友的感情戏;《石之心》的爱与悔恨、《血与酒》的情与仇,这些才是感动玩家的基调。
又如《荒野大飙客2》中帮派内的关爱、与爱人爱而不得的遗憾,这些给西部荒野带来了人性的光芒。
又如《地铁离乡》中主角与安娜的相互关爱、丈人在关键时刻决然的主动牺牲,这些在末日时分更加彰显人性的光辉。
又如《往日不再》的兄弟情、夫妻情,《战神4》的父子情,《奇异人生2》的兄弟情,《瘟疫传说》的姐弟情,这些不仅让游戏吸引人,更是打动了玩家的心。

工业软件介绍系列之一:CATIA与CAD

 计划开始写《工业软件介绍》系列,第一篇是《CATIA与CAD》,之后有《Teamcenter与PLM》、《Kepware与IIoT》等。

写这个系列的初衷,是要解释工业软件与通用软件的区别、为什么开发工业软件这么难,同时顺带说明科学与技术的关系。


CATIA是法国达索系统(Dassault Systemes)开发的商业三维CAD设计软件,由于其出色的曲面设计能力,在航空和汽车工业界占据主流地位。

达索系统是达索航空(Dassault Aviation)的子公司,于1981年成立。

达索航空于1929年建立,主要产品有幻影系列战斗机和猎鹰系列商用机。

根据维基资料,1977年达索航空由15名工程师研发出新一代电脑辅助设计软件CATI,用于辅助飞机设计和制造。后来集团工程队伍发现公司内部财政不容许为此软件作进一步研发,于是集团开始研究成立新公司以及把软件外销的可能性。

1981年达索系统成立,当时成员共有25名工程师,出售更名后的CATIA系统。而IBM是他们第一名客户,之后IBM帮助达索把产品销售给航空、汽车工业的诸多客户。

达索航空在二战后一直为法国政府设计及制造主力战斗机,是航空界的重要玩家。

而CATIA最初是公司内部由工程师开发的生产力工具,是服务于内部研发部门的。之后才转型为商业工业软件,服务全球客户。

这也体现了工业软件的3个重要特点:先有业务后有软件,软件是工业经验的积累,早期业务部门深入参与软件开发。


下面简单介绍一下CAD(Computer-Aided Design计算机辅助设计)的早期历史。

1953年,受雷达操作中的交互式显示设备启发,麻省理工学院学者Douglas T. Ross形成了CAD的构想,并于1959年创造了计算机辅助设计这一词汇。

1963年,麻省理工学院Ivan Sutherland在博士论文过程中编写了计算机程序Sketchpad,并因此获得了1988年的图灵奖。Sketchpad被认为最早的CAD软件。

但是由于计算机硬件的限制,CAD软件一开始并没有得到快速发展。

下面是航空汽车工业一些重点CAD软件的原始版本发布时间:

1977年:CATIA。

1978年:Unigraphics(UGS前身)。

1982年:AUTOCAD。

1987年:Pro/ENGINEER(Creo前身)。

这4个软件现在依然是航空汽车工业的主流CAD软件,可谓历史悠久,与客户合作长远。


下面介绍下三维CAD曲面设计中一个重要的概念:贝塞尔曲线/曲面。在CAD软件中,我们用贝塞尔曲线/曲面来定义曲线/曲面,用曲率来定义线/面的弯曲程序,用控制点来改变其弯曲程序。

NURBS是非均匀有理B样条曲线(Non-Uniform Rational B-Splines)的缩写,1991年国际标准化组织(ISO)颁布的工业产品数据交换标准STEP中,把NURBS作为定义工业产品几何形状的唯一数学方法。

1946年,数学家开始研究样条形状,该形状通过分段的多项式公式推导出来,因为其和机械生产中的样条相类似,I. J. Schoenberg将其命名为样条曲线或样条函数。

之后,来自雷诺的工程师皮埃尔·贝塞尔(Pierre Bézier)和来自雪铁龙的工程师保尔·德·卡斯特里奥(Paul de Casteljau)进一步发展了样条曲线。

1959年,卡斯特里奥开发了以其命名的算法,用于评估曲线的弯曲程序。

几乎同时贝塞尔也实现了类似的算法,并进一步加入了控制点,以用于通过计算机软件来改变曲线/曲面的弯曲程序。由于贝塞尔发表了他的工作成果,因此人们将通过在曲线上的控制点表示的那类曲线称为贝塞尔曲线。

贝塞尔曲线是三维CAD曲面建模的基础,而它的发明者同样是业界的工程师。


达索、雷诺、雪铁龙都是来自法国的公司,当我们现在感慨于欧美发达国家通过知识产权收割全球财富时,也不要忘记这些知识产权是如何缓慢地积累的。