Mobile Industrial Solutions Training Course
Dec 14, 2015
Mobile Industrial Solutions
Training Course
Mobile Industrial Solutions
Casio DT-X7 Stocktaking Sample
Name: Arne ReineltFunction: Product Support
Mobile Industrial Solutions
Mobile Industrial SolutionsDT-X7 Stocktaking Sample
Upload data to PC
Mobile Industrial SolutionsWorkflow
• Get user name, rack number, and article numbers
• Deactivate certain records due to wrong input• Write all data to specific files• Upload data files to PC by using Casio
LMWin communication software
Mobile Industrial SolutionsData Flow
DATA.TMP
DATA.DAT
Barcode
Date
User
Rack
Time
Price
Quantity
APPEND
RACK1.DAT RACK9.DATRACK2.DAT
Mobile Industrial SolutionsFlow Chart
Collect Data
Delete Data
Upload Data
Mobile Industrial SolutionsObject Orientated Design
Presentation Layer(Dialog Classes)
Business Layer(Business Transaction Class )
Data Layer(Data Class)
• Show data• Get data from user• Show system status
• Collect data• Delete data• Upload data
• Read/write to file• Read/write to DB• Query DB
Mobile Industrial SolutionsCasio Libraries
• System Library (System Settings)– Keyboard– CPU Speed– Mouse Pointer– Speaker / Vibrator
• OBR Library (Scanner)• Flink Library (Data Communication)
Mobile Industrial SolutionsOBR Conditions
closed opened
• Scanning disabled
• Changing the settings enabled
• Trigger keys not occupied
• Scanning enabled
• Changing the settings disabled
• Trigger keys occupied
OBROpen(...)
OBRClose(...)
Mobile Industrial Solutions
Synchronization done by CCriticalSection object
OBR Workflow
Scanning No
Settings Global
Execution Once
Duration 3-5 sec.
Data
Sub DialogMain Dialog
OBROpen…
OBRGets…
OBRClose
Reader Thread
Scanning Yes
Settings Specific
Execution Multiple
Duration 50 ms
Fast Switching
Mobile Industrial SolutionsData Communication
FLKOpen
do
while( false )
FLKFileAdd
CheckStatus
CheckStatus
CheckStatus
FLKClose
Error: break
Exit
OK
OK
OK
CheckStatus
FLKDateTime
Err
or:
retu
rn
CheckStatus: Necessary due to asynchronous function calls
Error: break
You must disable
ActiveSync when using
FLink
Mobile Industrial SolutionsSpecial Features
• Full Screen Mode• Color buttons• Custom Fonts• Keyboard Navigation• Hot Keys (Red, Yellow, and Blue)• Custom Title and Task Bar• MFC Collection Classes
Mobile Industrial SolutionsFull Screen Mode
Custom Title Bar
Custom Task Bar
Client Area
Mobile Industrial SolutionsFull Screen Mode
• Client windows are smaller than the main application window
• Custom taskbar stays visible all the time
• Using dialog template to avoid duplicating common functions
Mobile Industrial SolutionsCustom Fonts
Different Font Styles
Mobile Industrial Solutions
And now something completely different…
Mobile Industrial Solutions
Once upon a time, in a galaxy far, far away…
Mobile Industrial SolutionsWorkshops
Casio DT-X7Stocktaking Application
Star Wars Edition
Mobile Industrial SolutionsInstallation
• Install latest libraries to your DT-X7• Copy OBRDRV.ini to \FlashDisk\System
Settings\, and overwrite the existing one if necessary
• Deploy release version of DTX7_Stocktaking application to your mobile device
• Test the application…
~ 15 Minutes
Mobile Industrial SolutionsSystem Library
• Add new function to CHelper class in order to get the device ID of your DT-X7
• Use this newly added function to display the device ID when the [Make Settings] button from main menu is pressed (display only relevant digits)
• Play warning sound through buzzer when battery power drops below 15 percent
• Repeat that warning every 5 seconds• Hint: Use CheckBatteryPower( ) function in
CDTX7_StockTakingDlg class as starting point
~ 30 Minutes
Mobile Industrial SolutionsOBR Library
• Enable notification by vibrator for scanning complete condition
• Two possibilities:– Modify InitSettings( ) in CDTX7_StockTaking class
and Init( ) in COBRWedgeBase class– Modify Modify OnBprdok( ) in CTX7_ProductDlg
class• Allow to read Code128 instead of Code39 for the
user name• Hint: Modify MakeSettings(…) in COBRWedge class
~ 30 Minutes
Mobile Industrial SolutionsFlink Library
• Modify the application to copy all data files one by one to PC instead of appending all data to only file on PC
• Hint: You will have to make your changes in SyncJobStandard(…) in CFLCEWedge class
~ 30 Minutes
Mobile Industrial SolutionsHomework
• Modify the data layer (CData class) to use a database of your choice instead of MFC collection classes
• Modify the communication part to use Bluetooth or WLAN instead of LMWin
• Add more thread functions to the CFLCEWedge class, e.g. to receive new program versions from PC
• Add your own functions to the settings menu, e.g. to configure the trigger keys
• Add your own submenus to collect data for different departments
Mobile Industrial Solutions
Questions & Answers