同仁们早上好,你做过工程机械的没?最近做个项目用硕博电子7寸屏 EXCEL 数据文件存储和USB导出,现在发现在不断电的情况下可连续USB导出2次,第三次就无法导出,确保屏内有存储到数据,最后发现断一次电就可以考出来,但同样也出2次过后就没法在导出,必须断一次电,有那位高手指导一下?程序如下:
ton_t(in:=NOT ton_t.Q,pt:=T#3S);//总定时
//U盘检测程序
CheckUsb(
xExecute:=ton_t.Q ,
xDone=> ,
xBusy=> ,
xError=> ,
sDirName:='/tmp/usb',
eError=> ,
hDir=> );
IF CheckUsb.xDone THEN dirfile:=CheckUsb.hDir;CheckUsbOk:=TRUE;InfoEnable:=TRUE;TXT:=1;END_IF
IF CheckUsb.xError THEN CheckUsbOk:=FALSE;InfoEnable:=FALSE;TXT:=0; END_IF
USBInfo(
xExecute:=InfoEnable,
xDone=> ,
xBusy=> ,
xError=> ,
hDir:=dirfile,
eError=> ,
deDirEntry=> );
i_t(in:=NOT i_t.Q,pt:=T#1S);
IF i_t.q THEN i:=i+1;END_IF
IF i>10 THEN i:=1;END_IF
DownLoad_r(clk:=DownLoad_Enable);
IF DownLoad_r.Q AND CheckUsbOk THEN Enable:=TRUE;END_IF
DownLoad(
xExecute:=Enable, // 下载在使能触发
xDone=> , // 下载完成标志
xBusy=> , // 忙碌或空闲标志
xError=> , // 错误标志
sDirNameDest:='/tmp/usb/THDrilling', // 源路径U盘
sDirNameSource:='/opt/Dir1/THDrilling', // 目标路径PLC本地存储地址
xRecursive:=TRUE,
xOverWrite:=TRUE,
eError=> );
IF DownLoad.xDone THEN DownLoad_WanCheng:=TRUE;END_IF
IF DownLoad_WanCheng THEN DownLoad_OK_t.IN:=TRUE;DownLoad_OK:=TRUE;Enable:=FALSE;Close:=TRUE;END_IF
DownLoad_OK_t(pt:=T#3S);
IF DownLoad_OK_t.Q THEN DownLoad_OK:=FALSE;DownLoad_OK_t.IN:=FALSE;END_IF
// 关闭USB目录句柄
USBClose(
xExecute:=Close,
xDone=> ,
xBusy=> ,
xError=> ,
hDir:=dirfile,
eError=> );
IF USBClose.xDone THEN Close:=FALSE; Delete_Folder:=TRUE; END_IF
Delete_r(clk:=Delete_Folder);
//文件删除
Folder_Del(
Enable:=Delete_r.Q,
strDir:='/opt/Dir1/THDrilling',
blBusy=> ,
blDone=> ,
blError=> ,
strFixedDir=>);
IF Folder_Del.blDone THEN Delete_Folder_1:=TRUE;END_IF
(*IF blDone THEN Delete_Folder_1:=TRUE; blDone:=FALSE;END_IF*)
Delete_Folder_1_R(in:=Delete_Folder_1,pt:=T#1S);
IF Delete_Folder_1_R.Q THEN
Delete_Folder:=FALSE;
DownLoad_WanCheng:=FALSE;
init:=FALSE;
Check:=0;
Write_i:=0;
Enable:=FALSE;
RST_init:=FALSE;
END_IF
在次表示感谢