========================================================
盘片治具自动分离装置 20190130
陈建刚_20190221_STM32_CANMST_V0.1 初始程序
陈建刚_20190221_STM32_CANSLV_V0.1 初始程序
陈建刚_20190221_STM32_CANMST_V0.2 实现通讯PC<-232->主机
陈建刚_20190221_STM32_CANSLV_V0.2 通讯主机<-CAN->从机
陈建刚_20190228_STM32_CANMST_V0.3 实现CAN自动控制
陈建刚_20190228_STM32_CANSLV_V0.3 实现CAN自动控制
陈建刚_20190228_STM32_CANMST_V0.4 实现HMI实时通讯
陈建刚_20190225_HMI_MODBUS_V0.1.emtp HMI组态
陈建刚_20190301_STM32_CANTST_V0.1 HMI-主机-从机测试程序
========================================================
01.测试 构建下述测试机构 20190301
HMI<-232->1主机<-CAN->1从机
软件 以下述软件作为样本,更名为测试软件 20190301
其中只需要测试更改主机软件,从机软件不变
陈建刚_20190228_STM32_CANMST_V0.4
陈建刚_20190301_STM32_CANTST_V0.1
测试软件在原主机软件上改为只连接一个从机
完成 目前完成下述硬件结构及通讯 20190301
主机<-CAN->从机
02.改造 改造所有模块使之24VDC供电 √ 20190301
取消12VDC电源,使得整个系统电源唯一
恢复原模块中为了修正电源割开的电路板24VDC线
取消系统中的接口部分的24VDC电源,转移到12V供电位
完成 目前整个系统只需要提供一个24VDC电源了 20190301
03.检查 检查某块主机板的时钟缓慢问题 20190301
型号 无线监控通讯终端 HDS0717_BASE V0.2
SAGAEXSD_20190211.DDB/SAGASDRS/SAGASE2C/
HDS0717_BASE_20180717.SCH
HDS0717_BASE_20180905.PCB
Sagahds HW 20181011_006
电源 24VDC供电/5V正常/3.3V正常 20190301
指示灯闪烁缓慢
重新烧了下述软件,依旧无用
陈建刚_20190301_STM32_CANTST_V0.1
更换 更换CPU试试 20190301
更换CPU之后好了,确认是芯片坏了
烧写主机程序验证之后,确认是好了
将之更换到盘片分离系统中
========================================================
01.备份 陈建刚_20190228_STM32_CANSLV_V0.3 20190228
升级 陈建刚_20190228_STM32_CANMST_V0.4 20190228
========================================================
01.备份 陈建刚_20190221_STM32_CANMST_V0.2 20190228
陈建刚_20190221_STM32_CANSLV_V0.2
升级 陈建刚_20190228_STM32_CANMST_V0.3 20190228
陈建刚_20190228_STM32_CANSLV_V0.3
02.错误 似乎是CAN_FLAG出了问题这个和其它重名了 20190228
更名为CANSAGA_FLAG
可能是上述问题????
问题 似乎MST的时钟变慢了??? 20190228
决定 从下述软件开始重新修改 20190228
陈建刚_20190221_STM32_CANMST_V0.1
第一 取出上述软件更名为 20190228
陈建刚_20190221_STM32_CANMST_V0.2
第二 进行下述修改 20190228
删除下述语句
GPIO_WriteBit
(LED_GREEN,LED_GREEN_GPIO,(BitAction)
(!GPIO_ReadOutputDataBit
(LED_GREEN,LED_GREEN_GPIO)));
修正LED部分
确认时钟依旧变慢
确认下述程序不好改放弃了
陈建刚_20190221_STM32_CANMST_V0.2
第三 测试下述内容,重新烧了下面的程序到从机 20190228
陈建刚_20190228_STM32_CANSLV_V0.3
似乎从机程序可以正常烧录和运转,没有变慢
重新编译然后下载,依旧正常
第四 决定在下述程序基础上进行修改 20190228
陈建刚_20190228_STM32_CANSLV_V0.3
更名为
陈建刚_20190221_STM32_CANMST_V0.2
修改OX指令的OX+VERN标识
修改指示灯LEDRED/GRN
去掉PIO的SWITCH部分
去掉OLED部分
主程序中设置地址如下
can_extId.can_deviceId = 0x0101;
修改PIO管脚地址
确定 更换了电路板,时钟正常了,确认是硬件错误 20190228
确定 是纯粹硬件的问题,换了板子换了CAN芯片好了20190228
恢复 恢复原来的程序内容
03.串口 似乎USART2/3有问题,具体是硬件还是软件 20190228
基本确认是程序的问题
串口3发送不正常不是在于下述文件被改了
startup_stm32f10x_md.s
确认 目前程序中USART1/2/3互相冲突 20190228
同时只能保留一个正常的串口
具体原因回头解决
确认 USART3不能正常发送的原因似乎是 20190228
和CAN有冲突,暂时将CAN部分取消,则通讯正常
修改 换个板子试试,换成下述板子
SAGAEXSD_20190211.DDB/SAGASDRS/SAGASE2H/
HDSDIDO_20190211.SCH
Sagahds HW 20190222_007
换了不管用
决定 恢复成USART1作为HMI的通讯接口,飞线 20190228
04.成功 基本完成了所需要的功能要求 20190228
CAN通讯+HMI通讯
========================================================
01.编程 下述内容是为了修改主机编程 20190227
实现HMI-MST之间的通讯
02.组态 修改HMI组态配置 20190227
将偶校验设置为无校验
HMI/COM1/9600/无校验/1位停止位
编译 下载
03.测试 使用PC_STCISP软件接收HMI数据 20190227
PC/COM1/9600/无校验/1位停止位
查询 接收到的HMI查询指令如下
01 01 00 00 00 30 3C 1E
回复 设定回复内容如下
01 01 06 AA AA AA AA AA AA 5F 99
04.组态 重新修改HMI组态内容 20190227
重新设定灯亮时的显示内容
原来的设定反了
测试 对上述内容进行测试,从PC给HMI回复数据,显示正常
05.编程 修改MST主机内容的编程,改偶校验为无校验 20190227
MST/COM3/9600/无校验/1位停止位
测试 使用PC与MST进行通讯测试
PC/COM1 <-232-> MST/COM3
确认 MST发送PC接收正常
PC发送MST接收故障
06.编程 确认硬件没问题,使用下述软件可以通讯COM3 20190227
陈建刚_20181017_STM_MSTN_V0.7
成功 可以使用USART3来收发数据 20190227
但是需要先初始USART3??????为啥???????????
确认 只打开USART3就是了 20190227
注意 MST对接到PC和HMI时,232的收发端要对换
成功 实现了HMI<-232->MST间的通讯
下一步是具体讲数据传送过来
========================================================
01.编程 下述内容是为了修改主机编程 20190227
实现自动控制过程
02.定时 下面是为了定时发送CAN指令,进行循环查询 20190227
完成 实现0.1秒定时查询5个SLV的状态 20190227
void CAN_transport_S
(u16 extid,u8 data1,u8 data2)
//用于自动定时查询
void CAN_Scan(void)
//CAN定时查询
03.指令 下面是为了随时插入DO操作指令 20190227
修改了下述函数
void CAN_Scan(void)
//CAN定时查询
通过下述指令进行操作
Saga_CAN_APTR = 0;//五个SLV停止指令
Saga_CAN_APTR = 1;
Saga_CAN_APTR = 2;
Saga_CAN_APTR = 3;
Saga_CAN_APTR = 4;
Saga_CAN_APTR = 5;//五个SLV前进指令
Saga_CAN_APTR = 6;
Saga_CAN_APTR = 7;
Saga_CAN_APTR = 8;
Saga_CAN_APTR = 9;
Saga_CAN_APTR = 10;//五个SLV后退指令
Saga_CAN_APTR = 11;
Saga_CAN_APTR = 12;
Saga_CAN_APTR = 13;
Saga_CAN_APTR = 14;
完成 实现了整个系统的全自动控制 20190227
根据盘片和治具的位置检测开始循环运行
04.决定 不另外增加启动停止开关 20190227
只根据盘片和治具的位置来启动停止系统
05.通讯 增加CAN通讯故障检测 20190227
如果通讯超时则报错
//CAN通讯超时故障,则绿灯闪动
修改下述程序达到目的
void LED_Fresh_S(void) //指示灯刷新程序
完成 实现指示灯CAN通讯超时故障报警功能
========================================================
01.测试 下述内容是为了试验485_MODBUS协议 20190226
02.测试 测试USB转485模块和主机的485接口 20190226
编程 主机编程修改
打开USART2
测试 基本判断USB转485模块坏了??
测试 使用自制232转485线(S7-200PLC程序下载线)
还是不能通讯,怀疑主机模块的485坏了?
更换?
测试 自制232转485线(S700PLC程序下载线) 20190226
使用PLC测试
重装 重装S7-200PLC组态软件,这个软件似乎坏了 20190226
Backup_M_
陈建刚_软件_20150202_STEP7_V4.zip
重装过程,需要先下载后重装,
安装完备,软件完好
测试 使用STEP7-200软件测试自制下载线232转485 20190226
下载线232转485完好可使用
测试 使用STEP7-200软件测试下载线USB转485 20190226
下载线USB转485坏了
更换485芯片
更换芯片也不管用
02.测试 测试Modscan工具软件和下述电表之间的通讯 20190226
TD96系列三相多功能电力仪表
速率 9600BPS
地址 0001
位置 0x0008 Ua
使用上述环境测试S7-200PLC程序下载线
很奇怪 失败了
03.决定 HMI-主机模块之间的通讯采用MOSBUD-232 20190226
04.协议 HMI-主机模块通讯协议如下 20190226
确定 使用MODBUS协议
确定 硬件采用RS232
确定 数据表如下形式
0 0 DI4 DI3 DI2 DI1 DO2 DO1_CAN01
0 0 DI4 DI3 DI2 DI1 DO2 DO1_CAN02
0 0 DI4 DI3 DI2 DI1 DO2 DO1_CAN03
0 0 DI4 DI3 DI2 DI1 DO2 DO1_CAN04
0 0 DI4 DI3 DI2 DI1 DO2 DO1_CAN05
05.确定 该HMI型号使用12VDC也可以运行 20190226
06.组态 开始组态,在HMI上建立上述点表 20190226
设置 电脑侧端口设置 9600/E/8/1
配置 HMI侧配置
菜单/常用/系统参数
设备/新增设备/
名称 MODBUS RTU 设备 所在位置 本机
设备类型 MODBUS RTU,RTU over TCP
接口类型 RS232
COM: COM1/9600/E/8/1
设备预设站号 1
组态 在HMI屏幕上增加四个指示灯
菜单/元件/位状态指示灯
四个指示灯的地址依次为 MODBUS RTU 0x1-4
下载 将上述画面编译之后
建立下载数据下载到优盘
将优盘插到HMI上,完成下载步骤
HMI会重新启动,然后显示 DEVIC