找答案的高端用户(找答案钻石及双钻级别的用户)将尽可能从此问题下的所有回
答中,为您推荐最佳答案。届时您可以根据推荐数采纳答案。
如果自提问时间起7天内您仍无法选出最佳答案,您可以选择“无满意答案”关闭此问题。
问题
取消精华
首页精华问答
取消推荐
高端用户推荐
申请置评
已申请置评
修改
修改标签
添加标签
官方认证
取消官方认证
修改标签
添加标签
转移分类
删除
{{itemCategory}}
收藏({{answerDetail.Q_FavoriteCounts}})
手机扫码追踪该问题,
觉得实用,立即去分享!
点击复制链接
专家建议
取消最佳答案
修改
动态增加记录、每次在当前DB的尾部增加一条数据?这样的话就是要动态修改DB块的结构了,系统只提供了2个函数用于创建DB和删除DB,要实现DB块原有数据不变,而将DB块的结构改变,这点是做不到的。
你可以事先在DB块中将要保存的数据及其长度声明好,然后用指针递增进行读写数据。
另外你要实现的是什么功能?报表还是数据归档?这些功能似乎用WinCC来做更加合适。
补充:在某DB块设置一指针(假设为DB10.DBD0),格式为DWORD,其初始值为0.每次写数据的时候先读取该指针,将数据写入该指针指向的DBD数据区,然后再将指针偏移4个字节并保存以便下一次写数据用。
A M1.0 //触发写数据条件
FP M1.1
JNB _OUT
LAR1 DB10.DBD0 //装载指针
OPN DB1 //打开数据块
L XXX //装载你要写的数值
T DBD[AR1,P#0.0] //写入到指针所指的DBD数据区
L DB10.DBD0 //将指针偏移4个字节指向下一个DBD数据区
L P#4.0
+D
T DB10.DBD0
_OUT: NOP 0
补充2:根据最新样本,除CPU317/319外,单个DB块最大容量为16K,因此最多能存16*1024/4=4096个REAL类型的数据。
等您来回答
换一换
{{item.CoinValue}}西币
{{item.VisitNum}}人想问
本版相关问题
换一换
专家置评
首次回答问题,获得
双倍西币积分!
立即成为技术知识分享的一员!
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!

西门子商城