您現(xiàn)在所在的是:

電腦編程

回帖:8個(gè),閱讀:6656 [上一頁] [1] [下一頁]
1477
adautomation
文章數(shù):244
年度積分:50
歷史總積分:1477
注冊(cè)時(shí)間:2003/5/19
發(fā)站內(nèi)信
發(fā)表于:2003/9/4 13:47:00
#0樓
請(qǐng)教各位:如何在計(jì)算機(jī)里模擬PLC的數(shù)百個(gè)timer,并且在timer執(zhí)行中不影響其它程序的執(zhí)行。軟PLC是怎么做到這一點(diǎn)的??????
最惡心的就是日本
1173
Guan_Qing_Xin
文章數(shù):175
年度積分:50
歷史總積分:1173
注冊(cè)時(shí)間:2002/8/7
發(fā)站內(nèi)信
發(fā)表于:2003/9/4 16:39:00
#1樓
以前試過在DOS操作系統(tǒng)用修改時(shí)鐘中斷向量的辦法,讓它處理過數(shù)十個(gè)timer。PC多處資源都要用到該中斷向量.占用中斷處理的時(shí)間太多了也不行.
Windos系統(tǒng)把它封裝了.需用支持底層操作的驅(qū)動(dòng)程序,我也想知道.
0
文章數(shù):0
年度積分:0
歷史總積分:0
注冊(cè)時(shí)間:0001/1/1
發(fā)站內(nèi)信
發(fā)表于:2003/9/4 17:42:00
#2樓
此樓內(nèi)容不符合板塊規(guī)定,不予顯示! 查看原帖內(nèi)容>>
1379
deyun
文章數(shù):257
年度積分:50
歷史總積分:1379
注冊(cè)時(shí)間:2002/5/27
發(fā)站內(nèi)信
發(fā)表于:2003/9/5 10:23:00
#3樓
舉例:
unsigned char T01, T02, T03;         // 模擬時(shí)間繼電器

//
// 定時(shí)器1中斷子程序
// 功能:
//
void timer1(void) interrupt 3 using 2
{
TH1=0xb8;  // 51單片機(jī),22.1184MHz晶體,10mS中斷一次  

/* ----- 掃描模擬時(shí)間計(jì)時(shí)器 ----- */
if(T01!=0)T01--;
if(T02!=0)T02--;
if(T03!=0)T03--;

/* ----- 中斷結(jié)束返回 ----- */
return;
}

void main
{
 ...
 T01=100;
 ...
 if(T01==0)
 {
  ...
 }
 ...
 return;
}
我不是天才,也不是蠢才。我有一顆上進(jìn)的心,所以我不怕困難!
歡迎到我的論壇做客:http://www.deyunme.com/bbs/index.asp
1477
adautomation
文章數(shù):244
年度積分:50
歷史總積分:1477
注冊(cè)時(shí)間:2003/5/19
發(fā)站內(nèi)信
發(fā)表于:2003/9/17 10:59:00
#4樓
其實(shí)在很多軟plc都實(shí)現(xiàn)了這個(gè)功能,有哪位高人再指點(diǎn)指點(diǎn),在windows中如何實(shí)現(xiàn)呢
最惡心的就是日本
3798
文曲星
文章數(shù):907
年度積分:49
歷史總積分:3798
注冊(cè)時(shí)間:2003/11/6
發(fā)站內(nèi)信
發(fā)表于:2004/7/17 21:45:00
#5樓
建議在做個(gè)時(shí)間的子線程,讀取系統(tǒng)的時(shí)間,根據(jù)時(shí)間的變化判斷究竟哪個(gè)timer觸發(fā),對(duì)觸發(fā)的timer發(fā)送一個(gè)消息過去。
沒有測試,不知道穩(wěn)定性如何
930
景天蘇
文章數(shù):11
年度積分:50
歷史總積分:930
注冊(cè)時(shí)間:2005/1/31
發(fā)站內(nèi)信
發(fā)表于:2005/1/31 16:17:00
#6樓
VC是可以辦到的,像文曲星所說,但這樣會(huì)出現(xiàn)微秒級(jí)的誤差,這是由于CPU處理其他線程占用時(shí)間,而且這個(gè)時(shí)間的長短以我的經(jīng)驗(yàn)是不確定的。但我當(dāng)時(shí)還是正么做的。我曾打聽過,VC可以精確到更高精度,但我自己沒試過。不知對(duì)你是否有幫助。
6285
karl 版主
文章數(shù):1703
年度積分:48
歷史總積分:6285
注冊(cè)時(shí)間:2003/12/26
發(fā)站內(nèi)信
發(fā)表于:2005/2/5 18:43:00
#7樓
是呀,softPLC的timer的確是有微秒級(jí)的誤差,比起PLC的毫秒級(jí)還是強(qiáng)很多。
圖
921
lell
文章數(shù):17
年度積分:50
歷史總積分:921
注冊(cè)時(shí)間:2002/5/28
發(fā)站內(nèi)信
發(fā)表于:2005/3/4 15:50:00
#8樓
對(duì)VC 可以我一同事就有

關(guān)于我們 | 聯(lián)系我們 | 廣告服務(wù) | 本站動(dòng)態(tài) | 友情鏈接 | 法律聲明 | 非法和不良信息舉報(bào)

工控網(wǎng)客服熱線:0755-86369299
版權(quán)所有 工控網(wǎng) Copyright©2024 Gkong.com, All Rights Reserved

78.0005