使用Altium Designer可以控制一台计算机上的第三方软件也可以通过网线/串口线控制另一台计算机的相同的软件和第三方软件,以下简要介绍硬件平台的搭建和软件的开发。
顺便提一下:控制第三方软件不只有Altium Designer可以控制,支持VBA的大部分都可以进行控制。
控制另一个软件软件按照另外一个软件的类型和安装位置可以分为控制同一台计算机相同的软件、控制控制台计算机不同的软件、控制不同计算机相同的软件和控制不同计算机不同的软件,控制主要有两点,一是两个软件平台需要通信,二是一个软件发送命令,另外执行正确的命令。
同一台计算机中相同的软件通信
在一台计算机安装有Altium Designer和Word、Excel、PPT、WPS、Visio、AutoCAD、Altium Designer、CATIA、SolidWorks、Pads、Capture 中的任意一个软件,控制的方式一共有4种,一是文件共享;二是创建Object对象;三是串口通信;四是网口通信。
在磁盘中创建一个文件,文件中添加需要执行的命令,在Word软件定时的去访问这个文件,根据命令列表中双方规定的规约执行命令。执行完命令就将命令列表中的命令删除,再执行下一条命令。
创建Object对象采用CreateObject函数或者GetObject函数创建一个软件是实例,这两种函数的区别在于CreateObject函数可以创建一个没有启动的软件的实例,GetObjectect可以创建一个打开的文件关联的软件的实例。两种创建方式都是可以脚本程序和人员协同工作。
获得了软件的Object对象后,使用脚本对软件的操作和使用鼠标在软件中的操作功能相同,比如使用鼠标在Word中添加一段文字、添加一个图标或者一个表格,使用脚本也可以实现相同的功能,比如使用鼠标在SolidWorks创建一个草图,再进行拉伸旋转等操作,在Altium Deigner中使用脚本也是可以实现相同的操作。
串口通信本是一个主机和另一个主机进行通信,如果在同一台计算机中使用计算机进行通信,有两种方法可以实现相同的操作,一种方式是在计算机上连接两个USB转串口,在串口端收发交叉连接,在计算机的设备管理器中可以看到一个COM口,另一种方式是使用虚拟串口软件,在计算机中虚拟两个串口互相相连,在计算机的设备管理器中可以识别出两个COM口,这样通过其中一个虚拟串口发送的数据可以在另一个虚拟串口中接收到相同的数据。
网口通信是一台计算机和和另外一台计算机进行网络通信,两台计算机可以使用一根网线直连,也可以通过一个交换机连接或者同一个路由器进行连接,通过交换机或者路由器就可以和多台计算机进行,如果连接的路由器是带wifi功能的路由器,也是可以直接网线通过wifi和平板电脑进行通信。
在Altium Designer中脚本系统可以直接创建winsock,直接使用TCP和UDP协议,只需不到10行代码即可完成基本的功能,使用UDP协议进行通信时,由于在Altium Designer中不能直接使用中断的方式,数据量过快存在数据数据丢失的情况。可靠的数据传输一般使用TCP通信的方式。
同一台计算机中不同的软件通信
文件共享
文件共享和同一台计算机中相同软件的通信相同。
Object对象
使用CreateObject函数或者GetObject函数可以创建和获取第三方软件的实例,在一个脚本软件中可以获取多种软件的多种实例,可以将其中一个软件的图元对象直接添加到另外一个软件中,使用遍历或者Item的方式可以将一个软件的数据直接搬到另外一个软件中。
网口通信
网口通信和同一台计算机中相同软件的通信相同
串口通信
网口通信和同一台计算机中相同软件的通信相同
不同计算机中相同的软件通信
不同的计算机包括台式计算机、笔记本电脑和平板电脑等,在不同计算机中通信主要包括串口通信和网口通信(包括wifi通信),在Altium Designer可以直接创建串口控件和网络控件,
文件共享
这种方式需要两台计算机通过网络进行连接,不需要在脚本里面使用winsock控件,需要将一台计算机的文件夹设置为共享文件夹,这样在一台计算机中创建的文件就可以在在另外一台计算机中访问了,创建的文件包括程序文件、工程文件和文本文件,程序文件为可以执行的脚本文件,Altium Designer的脚本程序中是可以支持动态的执行其他脚本程序中的命令,即使用ExecuteGlobal函数执行另外一个脚本文件的命令,命令其实也是普通的脚本文件。工程文件就是在工程软件中创建的工程文件,文本文件为在软件中创建的普通的ASCII编码记事本文件。在不同的计算机中可以相互交换信息。
串口通信
两台计算机可以通过 串口进行数据通信,在不同的计算机上使用的串口不尽相同,通常都是直接使用串口信号进行通信或者TTL进行通信,
在两台台式机中可以直接使用串口线进行连接,目前通用的笔记本的串口已经退出了历史的舞台,但是一些专用的笔记本台还保留有串口,台式机中主板上还保留有一个固定的COM口的插座,但是购买机箱时不会附送连接器和挡条的,需要另外购买安装才可使用。
台式计算机COM挡条
使用一根交叉串口线连接到两个台式计算机的COM口上即可完成硬件连接,串口线为双头都是母口,2、3引脚需要交叉相连。
双头母口2、3交叉串口线
笔记本电脑和台式计算机使用串口有多种方式,
USB转串口(一根为UCB转公头,另一端必须为母头,PS:两个都是公投也可以,需要使用杜邦线进行连接)
USB转TTL,两头需要交叉相连
这几种方式都是需要使用计算机中设备管理器当中识别出的COM口,使用脚本进行串口通讯就根据设备管理器中识别出的COM口进行通讯。
不同计算机中不同的软件通信
不同计算机中不同软件通信和不同计算机相同的软件通信的硬件相同,通信方式也相同
程序的搭建
使用串口和使用网口进行通信,完成基本的通信和接收只需10行代码,程序中发送的是命令,需要在命令中加入校验方式,代码量就比较大了。