找答案的高端用户(找答案钻石及双钻级别的用户)将尽可能从此问题下的所有回
答中,为您推荐最佳答案。届时您可以根据推荐数采纳答案。
如果自提问时间起7天内您仍无法选出最佳答案,您可以选择“无满意答案”关闭此问题。
问题
取消精华
首页精华问答
取消推荐
高端用户推荐
申请置评
已申请置评
修改
修改标签
添加标签
官方认证
取消官方认证
修改标签
添加标签
转移分类
删除
{{itemCategory}}
VAR_OUTPUT
DateTimeArr : ARRAY[0..5] OF BYTE; // 新增一个数组变量
END_VAR
BEGIN
IF Zero = 0 AND Occupy =1 THEN
DateTimeArr[0]:= DTTimeAT[0];
DateTimeArr[1]:= DTTimeAT[1];
DateTimeArr[2]:= DTTimeAT[2];
DateTimeArr[3]:= DTTimeAT[3];
DateTimeArr[4]:= DTTimeAT[4];
DateTimeArr[5]:= DTTimeAT[5];
END_IF;
IF Zero = 1 AND Occupy =0 THEN
DateTimeArr[0]:= 16#00;
DateTimeArr[1]:= 16#00;
DateTimeArr[2]:= 16#00;
DateTimeArr[3]:= 16#00;
DateTimeArr[4]:= 16#00;
DateTimeArr[5]:= 16#00;
END_IF;
END_FUNCTION_BLOCK
用这种方法输出的是数组,但是系统不支持这个类型
FUNCTION_BLOCK FB1120
TITLE = 'DT_TO_Byte'
{S7_m_c :='true'}
VAR_INPUT
DTTime : DATE_AND_TIME ;
DTTimeAT AT DTTime : ARRAY[0..7] OF BYTE;
Zero : BOOL;
Occupy :BOOL;
END_VAR
VAR_OUTPUT
Year {S7_m_c :='true'}:BYTE ;
Month{S7_m_c :='true'} : BYTE;
Day {S7_m_c :='true'}: BYTE;
Hour {S7_m_c :='true'}: BYTE;
Minute{S7_m_c :='true'} :BYTE;
Second{S7_m_c :='true'} :BYTE;
END_VAR
BEGIN
IF Zero = 0 AND Occupy =1 THEN
Year:= DTTimeAT[0];
Month:= DTTimeAT[1];
Day:= DTTimeAT[2];
Hour:= DTTimeAT[3];
Minute:= DTTimeAT[4];
Second:= DTTimeAT[5];
END_IF;
IF Zero = 1 AND Occupy =0 THEN
Year:= 16#00;
Month:= 16#00;
Day:= 16#00;
Hour:= 16#00;
Minute:= 16#00;
Second:= 16#00;
END_IF;
END_FUNCTION_BLOCK
这种分开输出年月日时分秒虽然可以输出,但是又太耗费内存,还有其他方法可以整体的输出年月日时分秒吗
收藏({{answerDetail.Q_FavoriteCounts}})
手机扫码追踪该问题,
觉得实用,立即去分享!
点击复制链接
等您来回答
换一换
{{item.CoinValue}}西币
{{item.VisitNum}}人想问
本版相关问题
换一换
专家置评
首次回答问题,获得
双倍西币积分!
立即成为技术知识分享的一员!
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!

西门子商城