这个问题在具体操作上有很多不同,用virtualbox、hyper-V或者VMware等不同的软件做虚拟机,具体操作的步骤和过程都不相同。但在思路上是类似的。但是在具体实现的时候,可能有些虚拟机因为缺少某些功能的原因无法实现效果,因此个人建议虚拟机尽量用vmware较好,这是因为相比较之下virtualbox稳定性稍差而hyper-V个人感觉功能不足。
一般来说,安装完虚拟机之后通讯,如果要直接和外部硬件通讯,需要安装功能增强包(vmware和virtualbox)。如果是采用专用的通讯卡,那么可能虚拟机和物理机都要安装相应的驱动,个人在实践中没有挑战过安装虚拟机和特殊通讯卡协调工作,因此不作详细说明。
如果使用的串口或者usb转串口设备,在虚拟机的设计中有将硬件资源分配给虚拟机的选项,选择需要分配给虚拟机的资源(某个串口或者usb口),在虚拟机中相应资源便可以使用,后续操作和在物理机中相应。
如果采用网络通讯,那么和上述做法是有很大不同的,采用虚拟机的网卡时需要注意物理机设置的网络连接形式,是NAT转发,是桥接,还是虚拟路由的方式。不同形式下虚拟机的ip地址是不一样的,有些接入方式下虚拟机根本无法访问外部网络,而另外一些接入方式下可能会无法满足PLC等设备一般来说通讯时要和上位机在同一个子网中的要求……关于虚拟机连接网络的不同形式,网路上有很多资源通讯,此处不再赘述。