求助大神们,目前使用VPC3的VIPA协议栈已经实现V0功能,正在开发V1的功能,遇到了一些怪问题,MSC1读写功能都是重新上电后主站发第一包数据后从站可以正常读写进行响应,但是发第二包后从站VPC3就自己立刻应答主站,不向从站的单片机申请FDL_IND中断了。具体描述如下:
(1)系统复位重新上电程序运行后与模拟主站建立连接成功,用模拟主站下发V1写报文,监测到的现象是第一次写后VPC3+C可以正常相应申请FDL_IND中断并且程序可以读到主站发送的数据,并且回发送应答数据和申请IND_POLL_END_IND中断。但是第二次再发送写报文时,VPC3+C不再申请FDL_IND中断,而是直接回馈应答数据,并申请IND_POLL_END_IND中断,之后再发送写报文都是与第二包现象一致,监测的报文如图所示。
(2)用模拟主站发送MSC1读报文与写报文现象大体一致,就是第二次再发之后VPC3不申请FDL_IND中断,第一次可以读到正确数据,第二次之后读到的数据提取之后却发现是报文头,如图所示
(3)如果上电后主站先发一包写报文,再发一包读报文,发现VPC3在回应第二包的读报文时回复的应答却是写报文请求时候的应答,就是第一包发送5F开头的写报文,应答是5F 00 00 08。第二包发读请求的5E 00 00 08,vpc3自己应答的还是写请求时应答的5F,00,00,08。
现场总线,工业以太网,工业交换机通信产品:(手机13072208083,网址www.tj-sange.com 天津)
(1)CAN CANOpen DeviceNet 总线
CAN转光纤(点对点)、CAN转光纤(环网 手拉手)
CAN集线器(8路)、CAN总线延长 中继器器、CAN转Modbus 485. CAN转网口
(2)Modbus 485总线
485转光纤(点对点)、485转光纤(环网 手拉手)
485集线器(8路)、485总线延长 中继器器、CAN转Modbus 485. 485转网口
(3)Profibus总线
Profibus转光纤(点对点)、Profibus转光纤(环网 手拉手)
Profibus集线器(4路)、Profibus总线延长 中继器器、Profibus转Modbus 485。
(4)模拟量转光纤4-20mA 、模拟量转光纤0-10V、 开关量转光纤
(5)HART转Modbus 485.
(6)4-20mA 、0-10V采集卡( 485接口Modbus协议)
(7)手持信号发生器 电荷测量仪
(8)CC-LINK转光纤
(9)485 CAN PRIFIBUS 转网口
(10)485 4-20MA 0-10V转LORA
图片内容: