最新提现记录

  • 恭喜 admin 于 2023-6-6 15:17 成功提现 500元
  • 恭喜 admin 于 2023-5-3 09:45 成功提现 400元

代码

[复制链接]
cmt | 2023-5-31 10:54:54 | 显示全部楼层
chatGPT_小控 发表于 2023-5-31 10:16
这段代码的功能是将 HMIRuntime 中的四个 Tags(`cs_time`, `cs_start_B`, `cs_end_B`, `cs_flow_Z`)的 ...

`cs_time`, `cs_start_B`, `cs_end_B`, `cs_flow_Z`均为0-2000的数,在wincc中应设为什么数据类型
在对应的数据库表中又应该设为什么数据类型
回复

使用道具 举报

chatGPT_小控 | 2023-5-31 10:55:06 | 显示全部楼层
cmt 发表于 2023-05-31 10:54
`cs_time`, `cs_start_B`, `cs_end_B`, `cs_flow_Z`均 ...

在 WinCC 中,可以将 `cs_time`, `cs_start_B`, `cs_end_B`, `cs_flow_Z` 四个变量均设置为 `DWORD` 类型。在对应的数据库表中,可以将这四个字段设为相应的数值型数据类型,如 `INT`、`FLOAT` 或 `DECIMAL` 等。具体选用哪种数据类型,要根据实际需求和数据的精度要求来决定。例如,如果这四个变量表示实时监测的流量变化值,可能需要使用 `FLOAT` 或 `DECIMAL` 数据类型来保存数据,以保证数据的精度。
回复

使用道具 举报

cmt | 2023-5-31 10:57:08 | 显示全部楼层
chatGPT_小控 发表于 2023-5-31 10:55
在 WinCC 中,可以将 `cs_time`, `cs_start_B`, `cs_end_B`, `cs_flow_Z` 四个变量均设置为 `DWORD` 类型 ...

可以在Wincc中设为浮点数吗
回复

使用道具 举报

chatGPT_小控 | 2023-5-31 10:57:21 | 显示全部楼层
cmt 发表于 2023-05-31 10:57
可以在Wincc中设为浮点数吗

是的,`cs_time`, `cs_start_B`, `cs_end_B`, `cs_flow_Z` 四个变量都可以在 WinCC 中设置为浮点数类型即 `FLOAT`。这样做可以更好地保存数据的精度,特别是对于涉及到小数计算的应用场景,比如要计算流量的平均值、最大值或最小值等。同时,在计算结果显示时,也可以直接将浮点数类型转换为字符串类型再进行显示,以保证显示的精度。
回复

使用道具 举报

cmt | 2023-5-31 11:38:28 | 显示全部楼层
chatGPT_小控 发表于 2023-5-31 10:29
要确保已经建立了与数据库的连接,可以先创建一个 `Connection` 对象,并指定连接字符串来连接到数据库。 ...

怎样看是否已经连接上了数据库
回复

使用道具 举报

chatGPT_小控 | 2023-5-31 11:38:44 | 显示全部楼层
cmt 发表于 2023-05-31 11:38
怎样看是否已经连接上了数据库

可以使用 `Connection` 对象的 `State` 属性来判断是否已经连接到了数据库。当该属性的值为 `adStateOpen` 时,表示连接已经打开;当该属性的值为 `adStateClosed` 时,表示连接已经关闭。因此,可以在代码中添加以下语句,用于检查数据库连接的状态:If objCon.State = adStateOpen Then    MsgBox "已经连接到数据库"Else    MsgBox "未连接到数据库"End If其中,`objCon` 是一个 `Connection` 对象,`adStateOpen` 和 `adStateClosed` 是 `ADODB` 常量,用于表示连接状态。
回复

使用道具 举报

cmt | 2023-5-31 11:42:37 | 显示全部楼层
chatGPT_小控 发表于 2023-5-31 11:38
可以使用 `Connection` 对象的 `State` 属性来判断是否已经连接到了数据库。当该属性的值为 `adStateOpen ...

MsgBox需要自己建一个画面窗口吗
回复

使用道具 举报

chatGPT_小控 | 2023-5-31 11:42:51 | 显示全部楼层
cmt 发表于 2023-05-31 11:42
MsgBox需要自己建一个画面窗口吗

`MsgBox` 函数不需要自己建立一个画面窗口,它会弹出一个标准的消息框,用于显示提示信息。该函数有多个参数,可以调整弹出消息框的样式以及返回值。例如,以下代码将弹出一个默认样式的消息框,并显示一个提示信息:“已经连接到数据库”:MsgBox "已经连接到数据库"在 VBScript 中使用 `MsgBox` 函数时,不需要添加任何参考库,因为它是 VBScript 内置的函数。在 VB.NET 中使用 `MsgBox` 函数时,需要添加 `Microsoft.VisualBasic` 命名空间。
回复

使用道具 举报

cmt | 2023-5-31 11:47:54 | 显示全部楼层
chatGPT_小控 发表于 2023-5-31 11:38
可以使用 `Connection` 对象的 `State` 属性来判断是否已经连接到了数据库。当该属性的值为 `adStateOpen ...

插入
Dim objCon, objCom, objRe, strCon
Set objCon = CreateObject("ADODB.Connection")
Set objCom = CreateObject("ADODB.Command")
Set objRe = CreateObject("ADODB.Recordset")
strCon = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Info=False;Initial Catalog=ceshi;Data Source=DESKTOP-6E47LN8\WINCC;UID=chen;PWD=chen;"
objCon.ConnectionString = strCon
objCon.CursorLocation = 1
objCon.Open()
CT = FormatDateTime(HMIRuntime.Tags("cs_time").Read, vbGeneralDate)
sb = HMIRuntime.Tags("cs_start_B").Read
eb = HMIRuntime.Tags("cs_end_B").Read
zf = HMIRuntime.Tags("cs_flow_Z").Read
sq1 = "Insert Into beng_2 ([Time],[StartB%],[EndB%],[FlowZ]) Values ('" & CT & "','" & sb & "','" & eb & "','" & zf & "')"
objCom.ActiveConnection = objCon
objCom.CommandType = 1
objCom.CommandText = sq1
Set objRe = objCom.Execute
objRe.Close
objCon.Close
Set objRe = Nothing
Set objCom = Nothing
Set objCon = Nothing
这段代码中
回复

使用道具 举报

chatGPT_小控 | 2023-5-31 11:48:33 | 显示全部楼层
cmt 发表于 2023-05-31 11:47
插入
Dim objCon, objCom, objRe, strCon
Set objCon  ...

这段代码使用了 `ADODB` 对象来连接到数据库,并向数据库表 `beng_2` 中插入一条新纪录。具体来说,代码分为以下几个部分:

1. 创建对象:首先使用 `CreateObject` 函数创建了 `Connection`、`Command` 和 `Recordset` 三个对象,并使用 `strCon` 字符串变量指定了连接字符串。

2. 打开连接:设置 `objCon` 对象的 `ConnectionString` 属性,指定要连接到的数据库、服务器和登录信息等。接着设置 `objCon` 对象的 `CursorLocation` 属性为 1,表示将记录集放在客户端内存中。最后调用 `Open` 方法打开数据库连接。

3. 获取数据:使用 `HMIRuntime.Tags` 方法获取 HMI 界面上指定的三个变量 `CT`、`sb` 和 `eb` 的值,并将其赋值给相应的变量。

4. 插入数据:构造 SQL 插入语句 `sq1`,将变量的值拼接在 SQL 语句中。注意,插入语句中的字段名称需要根据实际情况进行修改。

5. 执行 SQL 语句:设置 `objCom` 对象的 `ActiveConnection` 属性为 `objCon`,即设置数据库连接。接着设置 `objCom` 对象的 `CommandType` 属性为 1(adCmdText),表示 `CommandText` 属性包含由 ADODB 运行时解释的文本命令。然后设置 `CommandText` 属性为 `sq1`,也就是上面拼接而成的 SQL 语句。最后使用 `Execute` 方法执行 SQL 语句,并将查询结果保存在 `objRe` 对象中。

6. 关闭连接:使用 `Close` 方法关闭 `objRe` 和 `objCon` 对象,并释放资源。

需要注意的是,以上代码可能会存在一些潜在的安全问题(如 SQL 注入攻击等),建议对输入的变量进行验证或使用参数化查询方式。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则