如何在HMI 设备上通过脚本诊断储驱动器可移动存储介质(U盘,SD/MM 卡)是否处于可写状态?

当系统运行时HMI项目的数据通过用户触发保存到驱动的可移动存储介质(U盘,SD/MM 卡等)。在此过程中存储介质丢失或没有准备好被写入会导致错误。可在写之前通过检查驱动状态来避免该错误。

说明
在计划的写过程发生之前可以通过调用 Visual Basic 脚本判断是否驱动处于可写状态。根据返回值包含的状态来决定是否继续写或中止写过程。
根据用到的操作系统(Windows 或 WinCE), Visual Basic 脚本提供不同的方式检查可移动驱动盘是否可写。

No. 步骤
1 创建以下脚本函数代码。

  • 基于 Windows 的操作面板:

Function MediaCheckWin(ByRef path)

Dim fso, drive, result
Set fso= CreateObject("Scripting.FileSystemObject")

On Error Resume Next
Set drive= fso.GetDrive(fso.GetDriveName(fso.GetAbsolutePathName(path)))

If Err.Number=0 Then
result= 0
Else
result= Err.Number
End If

MediaCheckWin= result

End Function

  • 基于 WindowsCE 的操作面板:

Function MediaCheckCE(ByRef path)

Dim fso, result

Set fso= CreateObject("Filectl.filesystem")

If fso.dir(path)="" Then
result= 1
Else
result= 0
End If

Set fso= Nothing

MediaCheckCE= result

End Function

注意
"result" 可以改变返回值来满足您的需求。

2

在每次运行写存储介质之前调用 MediaCheckWin() 或 MediaCheckCE() 脚本。这里需要传送要写文件的路径,例如 "e:" (Windows) 或 "Storage Card USB" (Windows CE), 作为脚本的参数。

注意
如果把路径通过输入字段作为参数,需要确保你的输入被接受(按回车键)。
如果不把路径通过输入字段作为参数,但在脚本中定义它,你要按照规范在引号中设置路径。

3 根据返回值来决定是否继续或中止写过程。
返回值"0" 意味着存储介质处于可写状态;其他任何返回值意味着存储介质为可写状态。

表 01

下载
TIA Portal 例子程序 KP400 Comfort / PC Runtime 包含集成的脚本
如何在HMI 设备上通过脚本诊断储驱动器可移动存储介质(U盘,SD/MM 卡)是否处于可写状态?Registrierung notwendig storage_media_status.zip (379,4 KB)

注意

  • 注意,脚本只识别可更换的介质是否可用。例如,如果介质是写保护或没有更多的可用内存,脚本仍然返回值“0”。
  • 基于 Windows CE 的面板在移除存储介质之后可能需要一点时间才能产生错误信息。

补充信息

主题 “使用系统功能和运行脚本” 的基本信息可见条目 109742302. 位于 WinCC Professional V14 系统手册。

WinCC flexible 脚本对文件操作的设备在Windows CE 和 Windows 的基本信息可见条目 ID 2610721126106418

关键字
MMC, MMC 卡, Flash 设备, 记忆棒, 记忆卡, 访问, 准备

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc321941.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月5日 下午12:03
下一篇 2021年4月12日 上午12:00

相关推荐

发表回复

登录后才能评论