越来越多的应用要使用PLC对SD卡进行数据读写操作。今天我们就以欧姆龙NJ PLC为例,介绍SD卡中文本数据文件的读取,修改,存储等操作。
2.NJ对SD卡的操作指令常用到的标志位 我们先看一下fileopen指令使用上的一些注意事项,因为这些如果不注意,会影响到文件数据的正确读取。
1.本指令一旦执行,即使“Execute” 的值为FALSE 或执行时间超过任务周期,仍将继续处理直至最后,请通过“Done” 的值是否变为TRUE 确认处理是否正常结束。 2.必须在FileSeek 指令、FileRead指令、FileWrite 指令、FileGets 指令、FilePuts 指令之前事先执行本指令。3.请务必在使用通过本指令执行文件打开操作的文件后执行FileClose 指令,并关闭文件。4.本指令结束时,将数值保存至“FileID”。即“Done” 的值从FALSE 变为TRUE的时间点。5.在文件打开的状态下将CPU单元动作模式变更为程序或发生全部停止故障电平的控制器异常时,强制关闭该文件。此时,将处于执行过程中的数据读写操作进行到最后。6.在打开文件的状态下通过供电停止开关操作停止供电时,文件不会损坏。然而,由于文件打开状态持续,因此请执行FileClose,并关闭文件。7.在打开文件的状态下不操作供电停止开关即拔下SD 存储卡时,可能会损坏文件内容。拔下SD 存储卡时,请务必停止供电。8.在打开文件的状态下,即使不操作供电停止开关即拔下SD 存储卡时,文件打开状态仍将持续。请执行FileClose 指令,并关闭文件。9.在打开文件的状态下停止供电或拔下SD 存储卡时,文件打开状态虽将持续,但即使重新安装SD 存储卡,也无法读写文件。为了执行文件的读写,请暂时关闭文件,然后重新打开文件。10.以下情况会发生异常。“Error” 变为TRUE。• SD 存储卡并非可使用状态时。 • SD 存储卡处于写入保护状态时。 • “Mode”的值为_READ_EXIST或_RDWR_EXIST且不存在“FileName” 指定的文件时。 • “FileName” 的值并非正确的文件名时。 • 超出可创建的文件数量、目录数量时。 • “FileName” 指定的文件正在访问时。 • “FileName” 指定的文件禁止写入时。 • 希望同时打开5 个以上文件时。 • “FileName” 的值超出了可作为文件名使用的字节数。 • SD 存储卡访问过程中发生某种异常导致无法访问时。 • “Mode”的值超过有效范围时。
1.为了预防读取错误,最好是在初始化时,先执行文件关闭,再执行打开。• 首先在SD卡中存放“1234.txt”,然后插入CPU的卡槽中,上电。 • 编写程序。 • 正常结束或异常的处理,停止操作。 2.使用信号触发操作,对于需要逐条读取的操作,使用上升沿触发。怎么样你学会了吗?
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |