CANoe本身预留了许多与外界实现信息交互的接口,例如用户可以在Python中使用COM Server服务轻松调用CANoe及其工程运行的各种功能(可参考《CANoe开发从入门到精通》中的扩展话题部分)。但这种方法并不适用于使用CAPL语言进行自动化测试脚本开发的情况。本文将使用UDP通信的方式,将CANoe作为客户端,Python作为服务器端,完成两者之间的信号传输。
准备工作
CANoe(版本10.0以上,10.0以下的没有确认过)
License(要求CANoe PRO,带Option Ethernet)
Python(版本没有特殊要求,能用socket就行,本文使用Python 3.8)
服务器端
服务器端的建立比较简单。关于socket的内容这里就不进行说明了,网上相关资料很多,有兴趣的可以自己去查一查。
import socket
def main():
ip_port = ('127.0.0.1', 2022)
server = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # udp协议
server.bind(ip_port)
print('Bind UDP on 127.0.0.1:2022')
while Ture:
data, client_addr = server.recvfrom(BUFSIZE)
print('server收到的CANoe数据', data)
reply = "get over"
server.sen