コード例 #1
0
        /// <summary>
        /// 强制写入位数据的通断,支持的类型为X,Y,M,S,C,T
        /// </summary>
        /// <param name="address">地址信息</param>
        /// <param name="value">是否为通</param>
        /// <returns>是否写入成功的结果对象</returns>
        public OperateResult Write(string address, bool value)
        {
            // 先获取指令
            OperateResult <byte[]> command = MelsecHelper.FxBuildWriteBoolPacket(address, value);

            if (!command.IsSuccess)
            {
                return(command);
            }

            // 和串口进行核心的数据交互
            OperateResult <byte[]> read = ReadBase(command.Content);

            if (!read.IsSuccess)
            {
                return(read);
            }

            // 检查结果是否正确
            OperateResult checkResult = CheckPlcWriteResponse(read.Content);

            if (!checkResult.IsSuccess)
            {
                return(checkResult);
            }

            return(OperateResult.CreateSuccessResult( ));
        }