西门子plc指令sr写不上偶尔

西门子plc指令sr写不上偶尔,第1张

西门子plc指令sr写不上偶尔

西门子plc指令sr写不上偶尔

1. 先检查PLC的程序是否正确,确认指令输入的位置和变量类型是否正确;

2. 检查PLC的输入和输出电路是否正常,确保指令输入的位置有足够的电压;

3. 检查PLC的系统参数是否正确,确保PLC的参数设置正确;

4. 若PLC出现偶尔写不上的情况,可以尝试更换PLC的模块,以及检查PLC的电源是否正常;

5. 如果PLC的程序内容比较复杂,可以尝试把PLC程序拆分成多个小程序,这样可以减少PLC的运行压力,提高PLC的运行稳定性。

UINT8U time = 0

//设置时间为0

void YouTask(void * pdata)//函数名

{

# if OS_CRITICAL_METHGD == 3

OS_CPU_SR cpu_sr//当OS_CRITICAL_METHGD等于3时,执行这条语句

# endif

pdata = pdata//把指针保存成局部变量使用

for(   )//做循环

{

if(time == 20)//时间为20时,执行OSTaskSuspend(0)

{

OSTaskSuspend(0)

}

if(time == 40)//时间为20时,执行OSTaskResume(0)

{

OSTaskResume(0)

}

time += 1//每次时间加1

if (x>50)//x大于50的时候,重置x为0,y加2

{

x = 0

y += 2

}//x小于50时,执行函数PC_DispChar

PC_DispChar(x,y,

                          *(char * )pdata,

                          DISP_BGND_BLACK+DISP_FGND_WHITE)

                            x += 1//执行加 *** 作,以便再次出现x大于50 的情况

                         OSTimeDlyHMSM(0,0,1,0)//重置 *** 作

}

}

通常以text保存(streamWriter),任何系统都可以调用,文件后缀可以自行保存为“.ini/.dat”等等,但是调用数据需要逐行string分析,从而实现数据库的基本使用性。

给你个小例子:

using System.IO

private static string getConnDetail(string parameter)//gets the connection details from txt file

{

try

{

string filename = "conn.txt"

using (StreamReader sr = new StreamReader(filename))

{

string line

while ((line = sr.ReadLine()) != null)

{

//do stuff

string[] subs = line.Split(':')

if (subs[0] == parameter)

{

sr.Close()

return subs[1]

}

}

sr.Close()

return "fail"

}

}

catch (Exception ex)

{

return ex.Message

}

}

然后在同一路径下创建一个.txt文件命名conn.txt,内容:

Server:YourComputerName\SQLEXPRESS

DB:YourDBName

User:sa

Pass:pass

最后你如果想察看servername,就调用getConnDetail(“Server”)

返回string: "YourComputerName\SQLEXPRESS"

这个例子是从.txt读取数据,如果要写入数据,参考3楼的连接。也可以直接用openfile(filepath/filename,opentype)指令打开文件然后写入或者读取。 具体可以查找关键词:File.OpenText ,主要阅读与File指令相关。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11540041.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存