回复:技术专题探讨-WinCC实现报表的不同方法及其应用-发帖整理之技巧总结

万泉河

  • 帖子

    10900
  • 精华

    132
  • 被关注

    1009

论坛等级:至圣

注册时间:2003-06-06

钻石 钻石 如何晋级?

发布于 2009-03-19 16:30:30

0楼

quote:以下是引用四书五经在2009-03-08 20:56:21的发言:
回万斑:
SQL SERVER中的FLOAT类型是8字节的(SQL SERVER中的Real类型是4字节的),VB中的DOUBLE类型也是8字节的,正好与之对应,应该不会有精度问题。
另关于如何在WINCC中生成这样的数:
1:如果是取当前时间,用VB脚本中的NOW函数,NOW函数的结果是DateTime类型,再用CDbl函数把DateTime类型转为Double类型,最后把结果写入到TAG中即可。
2:如果是取界面中设置的年、月、日、时、分、秒的字符串,则先把这些字符串连接起来,然后用函数Cdate函数把字符串转化为DateTime类型,再用CDbl函数把DateTime类型转化为Double类型。
以下是调试过的代码
st="2009-10-03"
dtd=CDate(st)
bbb=CDbl(dtd)
HMIRuntime.Trace "bbb=" & bbb
strsql="insert into table1 (dt) values("&dtd&")"
DT是浮点类型。

另:对于连接资源,我觉得不管是操作系统还是数据库还是PLC(其实也是操作系统的限制)都有资源的限制。我在编程中也有一次教训,那是在WINCC中在用C脚本编一个项目函数,这个函数中需要打开一个文件,然后读取里面的内容,但是最后忘记关闭文件了。我在公司测试的时候,没有问题。就让工程师拿到现场用了。但这个函数每次在开关设备时都调用,在现场使用时就出现了问题,工程师反映开关设备次数多的时候,开关设备的子画面就无法出现了。后来一查,是每次调用都打开一个文件句柄,而这个句柄在函数结束时没有释放,最后没释放的句柄越来越多,因为WINDOWS的句柄数也是有限制的,所以最后连Picture Window子窗口都没法打开了。呵呵,写出来给大家提个醒,希望对大家有所帮助。

微信公众号:PLC标准化编程,ZHO6371995
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC WinCC / Panel

共有32571条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。