Neptune's Potato Monsters

    bcd-date

    2.1.3 • Public • Published

    bcd-date

    Build Status

    Node.js package to decode BCD datetime buffers used by Siemens and Rockwell PLCs into a normal javascript date objects.

    The format of the BCD date is as follows

    Byte Contents Range
    0 Year 90-89
    1 Month 1-12
    2 Day 1-31
    3 Hour 0-23
    4 Minute 0-59
    5 Second 0-59
    6 2 MSD of ms 0-99
    7 (1st nibble) LSD of ms 0-9
    7 (2nd nibble) Day of week (unused) 1-7

    example

    var bcdDate = require('bcd-date');
    
    var buffer = new Buffer('1012231130301235', 'hex');
    
    var date   = bcdDate.decode(buffer);
    var buffer = bcdDate.encode(date);
    
    // date   == date at 2010-12-23 11:30:30.123
    // buffer == buffer of 1012231130301235
    
    // decode as UTC
    var date = bcdDate.decode(buffer, true);
    
    // encode as UTC
    var date = bcdDate.encode(buffer, true);
    

    Install

    npm i bcd-date

    DownloadsWeekly Downloads

    25

    Version

    2.1.3

    License

    MIT

    Last publish

    Collaborators

    • josephdickens87
    • nevans54
    • rrglomsk
    • jakesjews
    • eflex