在可重复周期 双定时器调用的FB中怎样正常使用定时器

每日登录:+1西币&+1积分
用户登录 |
密&&&&码:
记住用户名
下次自动登录
&&建议您只在个人私有的电脑上使用此选项。
绑定第三方账号登录&&
扫描二维码登录支持中心移动端
You are here:
被多次调用和同时调用的FB里面...
手机登录找答案
热点活动:
已解决问题:
被多次调用和同时调用的FB里面能写定时器和计数器吗?同时调用时但不能有冲突
被多次调用和同时调用的FB里面能写定时器和计数器吗?同时调用时但不能有冲突
产品版区:
悬赏分:5 | 解决时间: 23:29:54 | 提问者: -
问题ID:67827
建议楼主不要用“同时”这个词,因为PLC乃至计算机均为单CPU,某一个时刻只能执行一个任务,不可能同时执行两个或多个任务。我们编制的程序,在CPU是顺序被执行。在单CPU的PLC中没有同时被调用的概念。可以这么讲,被多次调用的FB里面能写定时器和计数器吗?可以写,但要注意对于同一个定时器和计数器调用的逻辑性,即,例如在同一周期内,在A中调用定时器C,在B中也调用了定时器C,触发条件又不同,这肯定会引起混乱。
提问者对于答案的评价:h
更多相关问题
本版精华问答
等待您来回答
作者/最新回复
最后回复时间
& 18:23:46
一般情况下,会有冲突。尝试一下改变思路吧
& 19:09:14
------------可以多次调用,每次调用的数据储存在不同的数据块里面即可,也就是说为同一个FB建立多个数据块,每次调用一次FB,使用一个数据块!---------这里有个例子,你看一下:
& 19:12:38
可以调用,每次调用时必须分配不同的定时器和计数器,FB中不要使用temp变量。
& 01:50:42
你只要把定时器和计数器作为fb的参数就可以了,这样每次调用填不同的t和c就没问题了。
& 14:06:07
FB中的定时器号需要由外部定义,多次调用该FB时分配不同的定时器号
& 15:33:54
最好不要同时调用。
& 16:16:00
上一页1下一页&
20秒帮我们优化支持中心!
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!
欢迎您来到找答案
在“找答案”,已有超过7万个被解决的技术问题供您参考!
西门子技术专家亲自把关!常规的,简单的问题,在这里您都可以找到答案!
遇到了问题,就来“找答案”提问。
点击搜索框右侧的提问按钮,只需2步就能成功提交问题!分分钟就有无数大侠前来帮你。
在“找答案”每天都有大量的新问题。
别犹豫,只需要点击问题下方的“我要回答”就能参与。答题不光有积分相送,也会给您积攒大侠人气。
“找答案”定期开展各种有奖活动期待您的参与。
更有机会参加西门子高端用户峰会。领略西门子的博大精深!js两个页面的定时器互相影响_百度知道
js两个页面的定时器互相影响
在javascritp中,有两个关于定时器的专用函数,分别为:1.倒计定时器:timename=setTimeout(&function();&,delaytime);2.循环定时器:timename=setInterval(&function();&,delaytime);第一个参数“function()”是定时器触发时要执行的动作,可以是一个函数,也可以是几个函数,函数间用“;”隔开即可。比如要弹出两个警告窗口,便可将“function();”换成“alert('第一个警告窗口!');alert('第二个警告窗口!');”;而第二个参数“delaytime”则是间隔的时间,以毫秒为单位,即填写“5000”,就表示5秒钟。  倒计时定时器是在指定时间到达后触发事件,而循环定时器就是在间隔时间到来时反复触发事件,两者的区别在于:前者只是作用一次,而后者则不停地作用。比如你打开一个页面后,想间隔几秒自动跳转到另一个页面,则你就需要采用倒计定时器“setTimeout(&function();&,delaytime)” ,而如果想将某一句话设置成一个一个字的出现,则需要用到循环定时器“setInterval(&function();&,delaytime)” 。获取表单的焦点,则用到document.activeElement.id。利用if来判断document.activeElement.id和表单的ID是否相同。比如:if (&mid& == document.activeElement.id) {alert();},&mid&便是表单对应的ID。定时器:用以指定在一段特定的时间后执行某段程序。JS中定时执行,setTimeout和setInterval的区别,以及l解除方法setTimeout(Expression,DelayTime),在DelayTime过后,将执行一次Expression,setTimeout 运用在延迟一段时间,再进行某项操作。setTimeout(&function&,time) 设置一个超时对象setInterval(expression,delayTime),每个DelayTime,都将执行Expression.常常可用于刷新表达式.setInterval(&function&,time) 设置一个超时对象SetInterval为自动重复,setTimeout不会重复。clearTimeout(对象) 清除已设置的setTimeout对象clearInterval(对象) 清除已设置的setInterval对象略举两例。例1.表单触发或加载时,逐字输出字符串代码如下:&html&&head&&meta http-equiv=&Content-Type& content=&text/ charset=gb2312& /&&title&无标题文档&/title&&script language=&JavaScript& type=&text/javascript&&var str = &这个是测试用的范例文字&;var seq = 0;var second=1000; //间隔时间1秒钟function scroll() {msg = str.substring(0, seq+1);document.getElementByIdx_x_x('word').innerHTML =seq++;if (seq &= str.length) seq = 0;}&/script&&/head&&body onload=&setInterval('scroll()',second)&&&div id=&word&&&/div&&br/&&br/&&/body&&/html&例2.当焦点在输入框的时候,定时检查输入框信息,焦点不在时不执行检查动作。代码如下:&!DOCTYPE html PUBLIC &-//W3C//DTD XHTML 1.0 Transitional//EN& &&&&html xmlns=&&&&head&&meta http-equiv=&Content-Type& content=&text/ charset=gb2312& /&&title&无标题文档&/title&&script language=&JavaScript& type=&text/javascript&&var second=5000; //间隔时间5秒钟var c=0;function scroll() {c++;if (&b& == document.activeElement.id) {var str=&定时检查第&b& &+c+& &/b&次&br/&&;if(document.getElementByIdx_x_x('b').value!=&&){str+=&输入框当前内容为当前内容为&br/&&b& &+document.getElementByIdx_x_x('b').value+&&/b&&;}document.getElementByIdx_x_x('word').innerHTML =}}&/script&&/head&&body&&textarea id=&b& name=&b& style=&height:100 width:300& onfocus=&setInterval('scroll()',second)&&&/textarea&&br/&&br/&&div id=&word&&&/div&&br/&&br/&&/body&&/html&例3.下面这个是最简单的例子,定时器时间到达后弹出警告窗口。代码如下:&html xmlns=&&&&head&&meta http-equiv=&Content-Type& content=&text/ charset=gb2312& /&&script language=&javascript&&function count() {document.getElementByIdx_x_x('m').innerHTML=&计时已经开始!&;setTimeout(&alert('十秒钟到!')&,10000)}&/script&&body&&div id=&m&&&/div&&input TYPE=&button& value=& 计时开始& onclick=&count()&&&/body&&/html&例4:倒计时定时跳转代码如下:&html&&head&
&base href=&&%=basePath%&&&
&title&My JSP 'ds04.jsp' starting page&/title&
&span id=&tiao&&3&/span&
&a href=&javascript:countDown&& &/a&秒后自动跳转……
&meta http-equiv=refresh content=3;url= '/ds02.jsp'/&
&!--脚本开始--&
&script language=&javascript& type=&&&function countDown(secs){ tiao.innerText= if(--secs&0)
setTimeout(&countDown(&+secs+&)&,1000); } countDown(3); &/script&
&!--脚本结束--& &/head&例6:代码如下:&head&
&meta http-equiv=&refresh& content=&2;url='b.html'&& &/head& 例7: 代码如下:&script language=&javascript& type=&text/javascript&& setTimeout(&window.location.href='b.html'&, 2000); //下面两个都可以用 //setTimeout(&javascript:location.href='b.html'&, 2000); //setTimeout(&window.location='b.html'&, 2000);&/script&例8:代码如下:&span id=&totalSecond&&2&/span&&script language=&javascript& type=&text/javascript&& var second = document.getElementByIdx_x('totalSecond').innerHTML; if(isNaN(second)){
//……不是数字的处理方法 }else{
setInterval(function(){
document.getElementByIdx_x('totalSecond').innerHTML = --
if (second &= 0) {
window.location = 'b.html';
}, 1000); } &/script&js定时器(执行一次、重复执行)分享一段js代码,有关js定时器的小例子,分为执行一次的定时器与重复执行的定时器。供初学的朋友参考。1,只执行一次的定时器代码如下:&script&
//定时器 异步运行
function hello(){
alert(&hello&);
//使用方法名字执行方法
var t1 = window.setTimeout(hello,1000);
var t2 = window.setTimeout(&hello()&,3000);//使用字符串执行方法
window.clearTimeout(t1);//去掉定时器
&/script&2,重复执行的定时器代码如下:&script&
function hello(){
alert(&hello&);
//重复执行某个方法
var t1 = window.setInterval(hello,1000);
var t2 = window.setInterval(&hello()&,3000);
//去掉定时器的方法
window.clearInterval(t1);
&/script&备注:如果在一个页面中有两个方法,都是在页面加载完成之后执行的,实际却未能按先后顺序执行,可以参照如下方法解决:可以在onload方法中添加一个定时器,设置一个定时器,“延迟”一段时间之后再运行,即可认为区分页面加载运行方法的先后顺序。代码如下:&!DOCTYPE html PUBLIC &-//W3C//DTD XHTML 1.0 Transitional//EN& &&&&html xmlns=&&&&head runat=&server&&
&title&Untitled Page&/title&
&script language=&javascript& type=&text/javascript&&
var YC = new Object();
function beginYC()
var secondsYC = document.getElementById(&txtYCSeconds&).
YC = setTimeout(&alert('延迟&+secondsYC+&秒成功')&,secondsYC*1000);
alert(&请输入正确的秒数。&);
function overYC()
clearTimeout(YC);
alert(&终止延迟成功。&);
}/**************************↓↓↓↓定时器的使用↓↓↓↓********************************/
var timerDS = new Object();
var timerDDS = new Object();
function beginDS()
sn.innerHTML = &0&;
timerDS = setInterval(&addOne()&,parseInt(document.getElementById(&txtIntervalSeconds&).value,10)*1000);
function goonDS()
timerDS = setInterval(&addOne()&,parseInt(document.getElementById(&txtIntervalSeconds&).value,10)*1000);
function overDS()
clearInterval(timerDS);
function delayDS()
timerDDS = setTimeout(&goonDS()&,document.getElementById(&txtDDSSeconds&).value*1000);
function addOne()
if(sn.innerHTML==&10&)
alert(&恭喜你,已成功达到10秒&);
sn.innerHTML=parseInt(sn.innerHTML,10)+1;
&/script&&/head&&body&
&form id=&form1& runat=&server&&
延迟器的使用:&/div&
&label id=&Label2& title=&延迟秒数:&&&/label&
&input type=&text& id=&txtYCSeconds& value=&3& /&
&input type=&button& id=&btnBYC& onclick=&javascript:beginYC()& value=&开始延迟& /&
&input type=&button& id=&btnOYC& onclick=&javascript:overYC()& value=&终止延迟& /&
&input type=&button& id=&Button1& onclick=&javascript:alert('good monrning');& value=&普通弹窗& /&
&/div&
&br /&
定时器的使用:&/div&
&div id=&sn&&0&/div&
&label id=&Label1& title=&定时间隔秒数:&&&/label&
&input type=&text& id=&txtIntervalSeconds& value=&1& /&
&input type=&button& id=&btnBDS& onclick=&javascript:beginDS()& value=&启动定时& /&
&input type=&button& id=&btnODS& onclick=&javascript:overDS()& value=&终止定时& /&
&input type=&button& id=&btnGDS& onclick=&javascript:goonDS()& value=&继续定时& /&
&label id=&ds& title=&延迟秒数:&&&/label&
&input type=&text& id=&txtDDSSeconds& value=&5& /&
&input type=&button& id=&btnDDS& onclick=&javascript:delayDS()& value=&延迟定时& /&
&/div&
&/form&&/body&&/html&
其他类似问题
为您推荐:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁java定时器 限制方法调用次数_百度知道
java定时器 限制方法调用次数
java.util.Timer类,这个类是java里的定时器类.schedule()方法重构多次,可以定时重复执行任务.具体使用可以查看手册给你一个简单的例子..从1000ms开始,每隔1000ms执行一次run方法 import java.util.Timport java.util.TimerT public class TimerTest {
public static void main(String[] args) {
Timer t = new Timer();
t.schedule(new TimerTask() {
public void run() {
//这里写你需要执行的任务,需要什么参数可以传进来..
System.out.println(&定时任务....&);
其他类似问题
为您推荐:
当该常量为0时,每当方法被调用,该常量减1,调用该方法就直接退出添加一个静态常量
定时器的相关知识
其他1条回答
用个全局变量或类变量计数就行了,超过这个数字直接返回
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
您的访问请求被拒绝 403 Forbidden - ITeye技术社区
您的访问请求被拒绝
亲爱的会员,您的IP地址所在网段被ITeye拒绝服务,这可能是以下两种情况导致:
一、您所在的网段内有网络爬虫大量抓取ITeye网页,为保证其他人流畅的访问ITeye,该网段被ITeye拒绝
二、您通过某个代理服务器访问ITeye网站,该代理服务器被网络爬虫利用,大量抓取ITeye网页
请您点击按钮解除封锁&

我要回帖

更多关于 定时器调用service 的文章

 

随机推荐